当前位置: 首页 > news >正文

网站建设制作好评语评测主题 wordpress

网站建设制作好评语,评测主题 wordpress,服务器可以自己的网站吗,网站定制 动易合约之间的函数调用 EOA,external owned account,外部账号,例如metamask调用最终总是由EOA发起的合约之间的调用使得一次完整的调用成为一个调用链条 合约间调用过程 调用者须持有被调用合约的地址得到被调用合约的信息将地址重载为被调用合…

合约之间的函数调用

在这里插入图片描述

  • EOA,external owned account,外部账号,例如metamask
  • 调用最终总是由EOA发起的
  • 合约之间的调用使得一次完整的调用成为一个调用链条

合约间调用过程

  • 调用者须持有被调用合约的地址
  • 得到被调用合约的信息
  • 将地址重载为被调用合约,调用它的函数

最直接的调用方式(源文件内部)

  • 调用者直接将被调用合约的地址重载为合约的实例
  • 用合约实例调用合约函数
// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.8.2 <0.9.0;contract Callee {uint public x;function setX(uint _x)public{x = _x;}
}
contract Caller{address calleeAddress;constructor(address _calleeAddress){calleeAddress = _calleeAddress;}function setCalleeX(uint _x)public{Callee callee = Callee(calleeAddress);callee.setX(_x);}}
//0xd9145CCE52D386f254917e481eB44e9943F39138 // Callee合约实例的地址 先部署Callee合约获取地址作为Caller的构造参数

通过import调用合约函数(源文件之间)

  • import被调用合约的源文件
  • 调用者将被调用合约的地址重载为合约实例
  • 用合约实例调用合约函数

Callee.sol

// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.8.2 <0.9.0;contract Callee {uint public x;function setX(uint _x)public{x = _x;}
}

Caller.sol

// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.8.2 <0.9.0;
import "./Callee.sol";contract Caller{address calleeAddress;constructor(address _calleeAddress){calleeAddress = _calleeAddress;}function setCalleeX(uint _x)public{Callee callee = Callee(calleeAddress);callee.setX(_x);}}
// 0xd9145CCE52D386f254917e481eB44e9943F39138

通过接口的调用

  • 合约的接口等价于其ABI
  • 接的定义方法
  • 接口的使用方法

ICallee.sol

// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.8.2 <0.9.0;interface ICallee {function setX(uint _x) external;}

Callee.sol

// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.8.2 <0.9.0;
// import "./ICallee.sol"; // 柔性,不强制一定要is Icallee 只要实现是一致就行 // contract Callee is Icallee {
contract Callee {uint public x;uint public y;function setX(uint _x)public{x = _x;}function setY(uint _y)public {y=_y;}//.....
}

Caller.sol

// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.8.2 <0.9.0;interface ICallee {function setX(uint _x) external;function setY(uint _x) external;
}contract Caller{address calleeAddress;constructor(address _calleeAddress){calleeAddress = _calleeAddress;}function setCalleeX(uint _x)public{ICallee callee = ICallee(calleeAddress);callee.setY(_x);}}
// 0xd9145CCE52D386f254917e481eB44e9943F39138

面向接口

  • 与一般开发语言一样,面向接口而不是实现
  • 不要求被调用者语法上实现一个接口
  • 接口最小化(有必要的才放入接口)
http://www.yayakq.cn/news/113060/

相关文章:

  • 网站配置伪静态网站做cpa推广引流
  • 怎么做qq二维码网站网站制作行业越来越难做
  • 南京高端网站建设公司上海的网络推广公司
  • 自己建立网站后怎么做淘客共享的网站备案
  • nginx 网站开发网站建设用模板好吗
  • php淘宝商城网站源码营销网站建设推广
  • 住房与城乡建设部网站打不开建设个人网站需要备案吗
  • 苏省住房和城乡建设厅网站首页个人网站主办者名称
  • 青岛手机网站建设用别的公司域名做网站
  • 建立网站ftp建设网站比较好的公司吗
  • 帮企业外卖网站做推公司网站主页打不开
  • js网站特效良乡网站建设公司
  • 做网站的功能结构布局南京seo代理
  • 台州建站服务代做财务报表分析网站
  • 我要学网站建设大型的平台类网站建设需要多少资金
  • 做瞹瞹小视频网站网站description是指什么
  • 上海网站设计厂家西安网站网站建设
  • 国外做论坛网站山东东营市区号
  • 海口网站seo企业管理系统有
  • 大兴网站开发网站建设百度seo入驻
  • 青海住房和城乡建设部网站桂林市内必去的地方
  • 网站推广营销效果网站建设的好公司
  • 网站建设和发布的一般流程图服务周到的微网站建设
  • ui是网站建设吗网站怎么注册啊
  • 便捷网站建设费用网站目录权限设置
  • 国外被动收入网站做的好的自己做的网站怎么发布到网上
  • 资溪做面包招聘的网站企业简介ppt范文大全
  • 苏州网站建设系统方案查企业哪个app最好
  • wordpress左右滑动老网站做seo能不能重新注册
  • 软件培训手册seo排名工具快速提高