400-123-4657
联系我们/CONTACT US
地址:福建省福州市榆树市初务大楼35号
电话:400-123-4657
传真:+86-123-4567
行业资讯您当前的位置: 首页 > 新闻动态 > 行业资讯

Python跨合约静态调用是如何实现的?:天博官网

更新时间:2023-11-21

本文摘要:上一期我们讲解了合约升级 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.thedailywomen.com

【返回列表页】

关于我们天博官网

天博官网核心价值观:诚信、创新、服务企业核心: 诚信 企业精神: 团结拼搏、开拓求实、满足用户、科技进步。 客户:为客户提供高质量和最大价值的专业化产品和服务,以真诚和实力赢得客户的理解、尊重和支持。市场:为客户降低采购成本和风险,为客户投资提供切实保障。 发展:追求永续发展的目标,并把它建立在客户满意的基础上。 关于“为合作伙伴创造价值”公司认为客户、供应商、公司股...

联系我们

电话:400-123-4657

邮箱:admin@youweb.com

地址:福建省福州市榆树市初务大楼35号

传真:+86-123-4567

版权所有:Copyright © 2002-2023 www.thedailywomen.com. 天博官网科技 版权所有 ICP备案编号:ICP备55107078号-8 TOP