火星链 火星链
Ctrl+D收藏火星链
首页 > BNB > 正文

EAP:视频| 本体技术视点 | Python智能合约教程之原生合约调用

作者:

时间:1900/1/1 0:00:00

01导语

上一期我们介绍了本体Python智能合约的合约执行API,本期我们将讨论如何通过NativeAPI来进行本体原生合约调用。原生合约调用最典型的功能就是合约转账,这也是整个智能合约最核心的部分。NativeAPI只有1个API。用法如下:

同时,使用Invoke函数需要内建的state函数辅助来封装参数,用法如下:

下面我们具体讲述一下这两个API的使用方法。在这之前,小伙伴们可以在本体智能合约开发工具SmartX中新建一个合约,跟着我们进行操作。跟以前的API讲解一样,在文章最后我们将给出这次讲解的所有源代码以及视频讲解。

区块链视频平台AMP Global完成560万美元种子轮融资:5月25日消息,watch to earn区块链视频娱乐平台 AMP Global 宣布完成 560 万美元种子轮融资,本轮融资 MaC Enterprise Capital 等参投。据悉,AMP Global 打造了一个基于区块链的视频平台,并推出了watch to earn创新模式,为创作者、发行方和观众提供了货币化替代解决方案,其平台允许内容制作者与其观众建立直接关系,用户与视频内容互动越多,获得的收益就会越多。(cryptonewsbtc)[2022/5/25 3:39:42]

02NativeAPI使用方法

央视频助力冬奥限量发放“数字雪花”:金色财经报道,央视频特别筹备沉浸式互动项目“数字雪花”。让全世界亿万人都有机会创造一个专属于自己的数字雪花身份,共同为冬奥助力。“数字雪花”不定期限量发放。通过央视频授权登录即可自动领取专属数字雪花身份,用户领取数字雪花后,可获得央视频数字雪花身份证书。[2022/1/6 8:29:10]

同样,使用这两个函数前需要引入。下面两条语句分别引入了这两个函数。

2.1本体原生合约列表

目前,本体可供使用的原生合约有六个。以下就是可以使用NativeAPI调用的原生合约列表:

BM加入节点召开的视频会议:据 IMEOS 报道,目前出块BP召开视频会议,处理该情况。解决方案是BP降低版本,进行重启,目前BM已加入节点召开视频会议商量解决问题。IMEOS 将进一步跟进。[2018/6/16]

在合约中,将合约地址转成bytearray形式传入Invoke即可。例如,需要调用ONTToken合约时,可以先将ONTToken合约对应的地址转成相应的bytearray形式,再进行相应的Invoke函数调用。在进行Invoke函数调用时,传入的参数分别为版本号,合约地址,调用的合约方法以及state函数封装的转账相关参数。这里特别要注意的一点是,在进行ONG的合约转账时,所填数量是实际数量的10^9倍。即,如果需要转10个ONG,那么数量需要填为10^10。而在采用ONTO或者Cyano等钱包转账时,所填数量即为转账数量。

2.2转账合约代码

下面我们给出一个完整的示例,演示如何使用Python语言来实现ONT以及ONG的转账功能。下述代码以传入的转出账户和转入地址参数类型为string为例实现该合约。另外,也可以以address为类型的账户参数进行传递,从而达到节省调用Gas费用的目的。该合约代码流程如下:

定义合约地址变量contract_address_ONT,contract_address_ONG;

将转出地址和转入地址从base58格式转成bytearray格式;

验签,确认转出地址与合约调用地址为同一地址;

state函数封装转账相关参数;

Invoke函数调用ONTToken和ONGToken原生合约转账;

通过返回res判断转账是否成功。返回值b''为成功,成功则推送事件“transfersucceed”。

03SmartX实践

接下来,小伙伴们可以在SmartX上进行操作,动手编译和运行上述提供的合约示例代码。具体步骤如下:1.编译合约。首先在SmartX中新建一个合约项目,并将代码放入该项目中进行编译。

2.部署合约。部署过程中如需申请测试币,申请地址为https://developer.ont.io/applyOng。部署结果示意如下:

3.执行转账。执行transfer函数进行转账前需要进行相关参数设置。在该示例中,需要填入发送地址、接收地址、代转账的ONT数量以及ONG数量:

4.转账成功。当转帐参数设置正确时,执行transfer函数将转账成功。上面所填的接收地址中将显示出收到的代币:

04总结

本次技术视点中我们介绍了本体区块链的NativeAPI,开发者可以使用NativeAPI来进行本体原生合约调用。原生合约调用最典型的功能就是合约转账,这也是整个智能合约最核心的部分。在下一期技术视点中,我们将介绍UpgradeAPI,探讨如何在本体智能合约中进行合约升级。本期讲述的所有语法部分我们提供了中文视频,小伙伴们可以观看学习。

标签:APIONTEAPONGapi币价格FONTYEAP价格sponge币市值

BNB热门资讯
DASH:彭博社:隐私币面临监管风暴 被退市风潮再起

据彭博社报道,作为加密货币中的一个子类,自由主义者推崇的隐私币正在遭受来自监管机构的打压。报道中指出,像Monero、Zcash和Dash这样的加密货币可以在不同程度上混淆交易,这使得交易所和托.

1900/1/1 0:00:00
莱特币:当不需要李启威的时候 莱特币就会成功

李启威表示,当不再需要他时,莱特币(Litecoin)将获得成功,这对莱特币基金会来说意味着什么?莱特币的前世今生在CryptoSlate的独家采访中,李启威分享了莱特币背后的前世今生.

1900/1/1 0:00:00
0X0:首期涅槃计划:BTA兑换BCC,最高10倍兑换

亲爱的用户:您好!ZG.COM首期涅槃计划:BTA兑换BCC,最高10倍兑换,具体活动详情如下:1.活动规则:用户将BTA充值进入ZG.COM资产.

1900/1/1 0:00:00
比特币:前途未卜?VanEck/SolidX比特币ETF提案再次撤回

CboeBZXExchange已于周二撤回其VanEck/SolidX比特币ETF提案。根据9月17日的一份文件,一项公开上市VanEckSolidX比特币信托的规则变更提案已于9月13日撤销.

1900/1/1 0:00:00
ISS:币圈衍生品时代来临:币市BISS交易所BTC杠杆ETF介绍

文章来源:区块方舟作者:大副文章原标题:币圈衍生品时代来临:杠杆ETF介绍币圈合约市场占据统治地位的是Bitmex跟Okex,紧随其后HT和Binance开了合约市场.

1900/1/1 0:00:00
LIBRA:金色早报丨VanEck及SolidX撤回比特币ETF提案

李礼辉:Libra超越国家主权有可能从根本上重构全球的货币体系◇金色盘面据huobiglobal数据显示,BTC最近成交价10200美元.

1900/1/1 0:00:00