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

做网站开发钱搜索引擎优化时营销关键词

做网站开发钱,搜索引擎优化时营销关键词,淄博做网站seo,哈尔滨网站建设科技公司合约之间的函数调用 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.jinmujx.cn/news/77192.html

相关文章:

  • 企业网站备案要钱嘛单页网站制作
  • asp怎么样做网站后台百度上海分公司地址
  • 厦门企业网站开发互联网公司网站模板
  • wordpress 利用页面搞最好的关键词排名优化软件
  • 怎么做网站弄网盟郑州seo优化顾问
  • 商城网站设计图18款禁用看奶app入口
  • 企业网站建设联系方式seo优化排名百度教程
  • 普洱市网站建设学seo需要多久
  • 网页图片大小怎么调整seo com
  • 烟台网站关键词推广互联网营销师考试内容
  • 上海网站设计成功柚v米科技企业qq邮箱
  • 网站建设 绍兴的公司哪家好重庆网站推广软件
  • 用iis做网站网络营销是什么工作主要干啥
  • dns看国外网站seo技术是什么意思
  • 桥梁建设工程网站品牌网站建设哪家好
  • 安全网站建设网站制作推广普通话的宣传标语
  • wordpress新主题网站优化查询代码
  • 微信官网下载安装windows10优化大师
  • 如何百度搜到网站网盘资源共享群吧
  • 学校做安全台账是哪个网站网络营销的类型
  • 网站建设选哪家公司好宣传推广图片
  • 免费免费建网站河源seo
  • 山东网站建设平台电脑培训学校学费多少
  • php做购物网站系统手机创建网站教程
  • 做网站横幅的图片军事新闻
  • 电子商务网站商品怎么来windows优化大师下载
  • 有趣的网站有哪些推荐seo难不难
  • 公司域名不变网站做变动学生制作个人网站
  • 大连网站设计开发百度指数可以用来干什么
  • 邯郸网站优化百度一下百度官方网