宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 瑞波币 > 正文

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

作者:

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

01导语

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

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

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

马斯克继昨日之后再次发布关于狗狗币视频:金色财经报道,2月7日消息,SpaceX、特斯拉汽车创始人埃隆·马斯克(ElonMusk)继昨日发布关于狗狗币的推特调查后,今日再次在推特发布狗狗币“教学视频”。[2021/2/8 19:11:01]

02NativeAPI使用方法

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

2.1本体原生合约列表

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

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

动态 | 被Youtube删除加密视频的大V共38人 Youtube称将对此事进行调查:加密教育家Omar Bham(crypt0snews)发推更新了所有最近被Youtube删除加密相关内容的YouTubers列表,共有38人。Bham猜测道,这些被删除的视频或带有指向性,列出了外部网站或交易所的链接。YouTube昨日在推特表示将对此事进行调查,并会尽快进行更新。(CoinTelegraph)[2019/12/26]

2.2转账合约代码

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

动态 | 贾斯汀·比伯社交媒体视频中出现Ripple:金色财经报道,美国著名歌手贾斯汀·比伯(Justin Bieber)的Instagram新视频中出现了Ripple的画面。据悉,该视频中,比伯的形象在全球范围内徒步奔跑,并跑过了写有“Runs on Ripple”的画面。他在视频中称:“我认为我的目的是激励人们并通过我的平台来帮助人们”。到目前为止,比伯尚未回答有关是谁制作剪辑了该视频,或他本人是否了解Ripple的问题。[2019/11/1]

定义合约地址变量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,探讨如何在本体智能合约中进行合约升级。本期讲述的所有语法部分我们提供了中文视频,小伙伴们可以观看学习。

标签:APIONTONGEAPapi3币创始人ONTC币hong kong flokiEAPEX币

瑞波币热门资讯
CFTC聘请Coinbase律师担任比特币期货部门主管

美国商品期货交易委员会(CFTC)刚刚任命Coinbase副总裁DorothyDeWitt为新的市场主管.

1900/1/1 0:00:00
BitPay支持以太坊 会助力主流行情吗?

今天的封面是《研究西班牙舞蹈》,约翰·辛格·萨金特ETH在今天凌晨突然又拉了一波,从191点到最高接近200点,后小有回落不过还是以超过4%的涨幅领涨主流,昨天晚上出现回调的其他主流币则纷纷反弹小幅跟涨,其中辣条最明显.

1900/1/1 0:00:00
如何将您的数字资产遗赠给您的后代

就像我们赤条条来到这个世界一样,我们注定要一无所有地离开。无论在死后的另一边是什么,你的比特币在那里都不好。不过我们一生努力积累加密货币财富不一定意味着徒劳无功。新的工具和技术将使人们更容易把加密货币遗财富留给亲人.

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

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

1900/1/1 0:00:00
CEO全球站关于AXE(斧头币)上线公告

尊敬的用户: CEO全球站即将开放AXE充值、提现业务,并同时在币币交易创新区开启AXE/QC和AXE/USDT交易对.

1900/1/1 0:00:00
ZG.TOP上线Launchpad项目——HFC

尊敬的ZG.TOP用户:ZG.TOP即将首发上线Launchpad项目——HFC。开启时间:9月18日12:00-14:00时段,9月19日12:00-14:00时段,9月20日12:00-14:00时段,两小时内有效下单同等对待.

1900/1/1 0:00:00