网站公告: 诚信为本,市场在变,诚信永远不变...
400-123-4657

24小时全国服务热线

400-123-4657

如果您有任何疑问或是问题, 请随时与我们联系

查看联系方式>>
新闻动态 当前位置: 首页 > 新闻动态

Python跨合约静态调用是如何实现的?_乐竞app官方下载入口

作者:乐竞app下载最新版    时间:2024-11-11 13:55: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 智能合约语法的跨合约动态调用。


本文关键词:乐竞app下载最新版,乐竞手机网页版登录入口,乐竞官方网站app下载安装,乐竞app官方下载入口

本文来源:乐竞app下载最新版-www.gyoryu-an.com

【返回列表页】
版权所有:Copyright © 2007-2024 www.gyoryu-an.com. 乐竞app下载最新版科技 版权所有电话:400-123-4657地址:湖北省恩施土家族苗族自治州恩施市建芬大楼3247号
ICP备案编号:ICP备99478080号-1