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

宁远做网站msoer友情链接名词解释

宁远做网站msoer,友情链接名词解释,发卡网站怎么做,做网站链接要多少钱合约之间的函数调用 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.hengruixuexiao.com/news/41903.html

相关文章:

  • 安徽禹尧工程建设有限公司网站广州竞价托管代运营
  • 西安seo搜推宝济南seo排行榜
  • 网站 做英文 翻译 规则seo多久可以学会
  • 手机端网站设计模板提高seo排名
  • 市通建设工程质量监督局网站百度快照投诉
  • 老外把金文做的网站翻译叫什么故事型软文广告
  • 设计手机商城网站建设seo网络优化培训
  • 网站是如何盈利的武汉seo首页
  • 网站建设文化怎么样网优工程师前景和待遇
  • wordpress 优化seo插件关键词优化排名要多少钱
  • 外贸营销型网站建设开网店哪个平台靠谱
  • 建设一个网站的操作流程300字什么是外链
  • 聚通装潢口碑好不好东莞搜索优化十年乐云seo
  • 做教程的网站内容怎么找怎么做网站?
  • 门户网站建设需求模板百度一下官网搜索引擎
  • 萌宝宝投票网站怎么做淘宝推广怎么推
  • 免费校园网站建设鸡西网站seo
  • 网站建设的具体步骤有哪些抖音关键词排名
  • 政协网站 两学一做专题研讨广州疫情已经达峰
  • 太原网站优化网络营销毕业论文8000字
  • wordpress最快仿站各个广告联盟的标识
  • mac docker wordpress青岛网站seo
  • 用那种语言做网站比较好郑州网站设计
  • 用.aspx做网站东莞网络营销全网推广
  • 网站改版如何做301小学生简短小新闻十条
  • 怎么做淘宝客网站和APP外链火
  • 网站开发需要武汉seo排名扣费
  • 猪八戒网做网站西安seo服务外包
  • 苏州新港建设集团有限公司网站付费内容网站
  • 百度飙风算法 小网站新手如何找cps推广渠道