木星链 木星链
Ctrl+D收藏木星链
首页 > OKB > 正文

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

作者:

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

01导语

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

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

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

俄乌第四轮会谈将于14日以视频方式举行:3月14日消息,俄罗斯总统新闻秘书佩斯科夫当地时间13日晚表示,俄乌第四轮会谈将于14日以视频方式举行。(财联社)[2022/3/14 13:54:19]

02NativeAPI使用方法

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

2.1本体原生合约列表

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

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

Dogecoin因一则TikTok挑战视频价格暴涨26%:Dogecoin(狗狗币)在24小时价格从0.00229美元飙升至0.0029美元,一夜之间暴涨了26%。随着市值从2.87亿美元增长到3.57亿美元,Dogecoin已经攀升至第33大加密货币。据悉,这一暴涨和短视频TikTok的一个挑战有关。5天前,一位名叫James Galante的Tik Tok用户发布了一段视频,标题为“让我们都富起来”。视频中他推荐每个人都投资25美元的Dogecoin,因为它是没有价值的(0.0023美元),等待它达到1美元,投资者将拥有10640美元。截至发稿时,该视频已经获得了57100个赞和近4000条评论。(AMBCrypto)[2020/7/7]

2.2转账合约代码

动态 | YouTube上现加密局 利用比特币相关视频传播木马病:安全研究人员Frost发现,YouTube上正在进行一场新的加密局——利用视频推广一种据称可以生成比特币地址私钥的工具。攻击者随后声称,该私钥将允许访问存储在该地址中的比特币,而实际上,受害者将感染窃取密码和数据的木马病。(Bleeping Computer)[2019/11/12]

下面我们给出一个完整的示例,演示如何使用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,探讨如何在本体智能合约中进行合约升级。本期讲述的所有语法部分我们提供了中文视频,小伙伴们可以观看学习。

标签:APIONTEAPONGapix币总量protontokenLEAPKONG

OKB热门资讯
FAT:50%超级返佣

尊敬的用户:胖比特将于2019年9月19号10:00(UTC8)正式开启邀请返佣活动。邀请好友在胖比特注册并交易,邀请人可获得被邀请人交易手续费的50%.

1900/1/1 0:00:00
比特币:肖磊:?持有比特币就是看空全世界?不对

在整个数字货币圈子里,有一些文化是比较流行的,类似于叛逆的文化,比如买入比特币就是做空全世界等这种认知,反而显得很有个性,导致很多投资者觉得,像比特币这种去中心化的资产,具有抗管制和审查.

1900/1/1 0:00:00
TOP:行情周报|全球数字货币市场回调 主流金融机构发力区块链技术应用

周报摘要上周全球数字货币资产日均市值为2638.59亿美元,下跌1.14%,日均交易量514.04亿美元,下跌5.15%。上周市值TOP200资产整体下跌0.04%,四大领域除通用公链全部下跌.

1900/1/1 0:00:00
稳定币:加密资产放贷正热 请对比风险/回报 当心风险

请小心加密资产放贷中「无风险」收入的概念!撰文:HassenNaas,NaasCapital创始人在去中心化平台和中心化平台上贷出你的加密资产可能存在风险.

1900/1/1 0:00:00
GAT:Gate.io Startup上线8折ETH认购公告

关于Gate.ioStartup打折福利计划为回馈平台用户,Gate.io将提供40万USD价值的以太坊ETH以8折价格在9月23日中午12点上线Startup认购.

1900/1/1 0:00:00
Chain:ChainUP:用两年时间打造最强劲的区块链交易系统

2年,从0到服务全球300多家客户,业务遍及20多个国家,市场占有率达20%,业务数据年平均100%增长。如果这是一个互联网的创业公司,2年能交出这样的成绩单也实属不易.

1900/1/1 0:00:00