企业培训资讯_企业培训干货

当前位置:首页 > 新闻中心

Python跨合约静态调用是如何实现的?

发布时间:2021-02-28    来源:首页27473

本文摘要:上一期我们讲解了合约升级 API,描写了如何封存和迁入智能合约。

上一期我们讲解了合约升级 API,描写了如何封存和迁入智能合约。本期我们辩论如何横跨合约静态调用。API 只有一个,用法如下:下面我们明确描写一下这个 API 的用于方法。在这之前,小伙伴们可以在本体智能合约开发工具 SmartX 中新建一个合约,回来我们展开操作者。

英亚体育

英亚体育

某种程度,在文章中我们将得出这次介绍的所有源代码以及视频介绍。2. RegisterAppCall 用于方法用于 RegisterAppCall 函数前某种程度必须引进,可以通过下面的语句构建:from ontology.interop.System.App import RegisterAppCallRegisterAppCall API 有三个参数。分别对应目标合约、目标方法和方法必须的参数。

英亚体育

我们打算两个智能合约——合约 A 与合约 B。接下来我们通过合约 A 来静态调用合约 B 的功能函数。

英亚体育

合约 A 的代码如下:from ontology.interop.System.App import RegisterAppCallfrom ontology.interop.System.Runtime import NotifyHelloWorld = RegisterAppCall('028de32923bcc21e8a5485e4b0e81eff2d9ba08e', 'operation', 'args') # 定位被调用的合约,继续执行静态调用def Main(operation, args):if operation == "CallHello":opt = args[0]msg = args[1]return CallHello(opt, msg)return Falsedef CallHello(opt, msg):return HelloWorld(opt, [msg])合约 B 是最简单的 Hello World 合约,合约 A 将调用合约 B 中的 Hello 函数。特别注意:必须再行部署合约 B,提供合约 B 的合约哈希,并当成合约 A 中RegisterAppCall 函数的参数载入。def Main(operation, args):if operation == 'Hello':msg = args[0]return Hello(msg)return Falsedef Hello(msg):return msg3. SmartX 示例1. 部署合约 B,获得其合约哈希为028de32923bcc21e8a5485e4b0e81eff2d9ba08e;2. 将合约哈希载入合约 A 中的 RegisterAppCall 参数中;3. 部署合约 A;4. 运营 CallHello 函数,如图:5. 页面「运营实继续执行」,回到68656c6c6f20776f726c64(Hello World 十六进制字符串),网卓新闻网,回应调用顺利。

4. 总结本次技术视点中我们讲解了如何横跨合约静态调用,开发者可以打算两个智能合约——合约 A 与合约 B,通过合约 A 来静态调用合约 B 的功能函数。下一期我们将讲解本体 Python 智能合约语法的跨合约动态调用。


本文关键词:英亚体育

本文来源:英亚体育-www.3zok.com

分享到:
英亚体育|四川煤监局:集中两周全覆盖监察严防煤矿超强度开采 推进双重预防机制在煤矿深层次应用:英亚体育
热门文章
王思聪吃鸡掉线还顺利吃鸡 实力主播扔烟雾弹做肉盾
英亚体育_IG苦战5局挺进S赛,Shy哥还会去GRF吗?
队内大腿成为自由人?WE官宣Mystic合约到期|英亚体育
草莓的功效有哪些吃草莓的好处真不少-英亚体育
【英亚体育】成都哪家医院治疗甲亢不错?
浙江多地推行“公筷公勺” 倡导共建文明餐桌-英亚体育
派克金克丝强势加入?新源计划英雄预测|英亚体育
常规赛对抗激烈,积分落后战队状态回暖,拿到首胜:英亚体育
【英亚体育】频繁打嗝可能是这些原因导致的宝宝打嗝总不好怎么办
北京咽喉炎医院介绍咽喉炎表现有哪些_英亚体育
英亚体育-肾损伤临床有什么特征肾损伤的科学护理方法
紫金e评:汇聚中国力量,打赢人民战争|英亚体育
无限火力隐藏的OP英雄 艾翁拿下95连胜?_英亚体育
英亚体育_cs即是生命 资深粉丝老金讲述他的18年cs人生
TAPTAP年度大赏结果揭晓!《明日方舟》接连获奖拿下三杀!
客户案例
×