400-123-4567
联系我们
电话:400-123-4567
传真:+86-123-4567
邮箱:admin@huchouhz.com
手机:13800000000
地址:福建省龙岩市霞山区大方大楼234号
第二系列您当前的位置: 首页 > 产品中心 > 第二系列

Python跨合约静态调用是如何实现的?|c7娱乐游戏

更新时间:2024-11-28 04:17:01

本文摘要:上一期我们讲解了合约升级 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 智能合约语法的跨合约动态调用。


本文关键词:c7娱乐游戏,c7官网登录入口,c7官网app下载安装,c7c7app官网下载

本文来源:c7娱乐游戏-www.huchouhz.com

【返回列表】
网站首页 c7娱乐游戏 产品中心 新闻资讯 成功案例 礼品知识 客户留言 人才招聘 c7娱乐游戏
地址:福建省龙岩市霞山区大方大楼234号    电话:400-123-4567    传真:+86-123-4567
Copyright © 2003-2024 www.huchouhz.com. c7娱乐游戏科技 版权所有   ICP备案编号:ICP备94660960号-6