01导语
上一期我们介绍了本体Python智能合约的合约执行API,本期我们将讨论如何通过NativeAPI来进行本体原生合约调用。原生合约调用最典型的功能就是合约转账,这也是整个智能合约最核心的部分。NativeAPI只有1个API。用法如下:
同时,使用Invoke函数需要内建的state函数辅助来封装参数,用法如下:
下面我们具体讲述一下这两个API的使用方法。在这之前,小伙伴们可以在本体智能合约开发工具SmartX中新建一个合约,跟着我们进行操作。跟以前的API讲解一样,在文章最后我们将给出这次讲解的所有源代码以及视频讲解。
亿万富翁Mark Cuban代币化视频剪辑片段在Rarible上22分钟销售突破50枚ETH:据线上教育平台Course Champ创始人Kris Kay在推特上透露,亿万富翁、NBA达拉斯独行侠队老板Mark Cuban代币化个人视频剪辑片段在NFT交易平台Rarible上只用了22分钟销售额就达50 ETH,按照当前价格计算约合9万美元。对此,马克·库班回应称:“这只是一个开始”。[2021/2/10 19:23:40]
02NativeAPI使用方法
同样,使用这两个函数前需要引入。下面两条语句分别引入了这两个函数。
ChainUP Capital战略投资“张姨杨姨”视频自媒体:据官方消息,立足区块链热点,传播区块链知识与价值的视频自媒体“张姨杨姨”已成立独立工作室“张杨一点”并获得ChainUP Capital百万投资。
据悉,张杨一点以视频制作及传播为切入点,结合线上事件营销,线下品牌展销等多场景,为企业提供趣味化可视传播素材,助力品牌三维推广和营销视听升级。
ChainUP Capital由ChainUP、节点资本共同发起,面向区块链领域早期企业进行投资,围绕区块链产业链上下游深入布局,打造产投联动的区块链新生态。目前ChainUP Capital已经投资了蜘蛛矿池、链人科技、合约帝、BiKi等多家高成长公司。[2020/9/21]
2.1本体原生合约列表
秘乐短视频或被工信部约谈,app已被苹果商店下架:6月23日,据相关人士透露,资金盘项目秘乐短视频或被工信部约谈,目前,秘乐短视频IOS端口的APP已经被下架。
此前有爆料称,在6月10日被杭州局西湖分局调查时,秘乐公司办公地址早已人去楼空。据悉,秘乐短视频是一款打着区块链旗号、以“0投资、0门槛、0风险,看视频就能赚钱”为噱头的资金盘项目,其玩法与早期的资金盘“趣步”相差无几。(深链财经)[2020/6/23]
目前,本体可供使用的原生合约有六个。以下就是可以使用NativeAPI调用的原生合约列表:
在合约中,将合约地址转成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,探讨如何在本体智能合约中进行合约升级。本期讲述的所有语法部分我们提供了中文视频,小伙伴们可以观看学习。
喜迎国庆,金秋送爽。Gate.io即将于十月份上线多达5个主流币打折福利认购,总认购金额价值125万美元USDT,预计回收价值100万美元USDT.
1900/1/1 0:00:00欧洲央行政策制定者BenoitCoeure周二在卢森堡举行的国际货币体系未来会议上表示,私人稳定币可能会挑战美元的全球主导地位.
1900/1/1 0:00:00致社区:2.CITY中国社区2.6万持币用户稳步进场无限裂变增量用户CITY中国社区是CityDapp运营近2年,从147万KYC用户中沉淀出的高共识度付费持币用户.
1900/1/1 0:00:00由于VVS近期优化相关接口,钱包接口需要10天内测时间,为了方便广大用户在此期间正常冲提,请联系人工客服的微信号:xiaot9191,备注,客服将把您导入T网VVS临时冲提群.
1900/1/1 0:00:00亲爱的社区用户:应起源资本交易区要求,FOne已开放?HFD?充值提现,FOne?会在今日?20:00开始支持以下币种交易.
1900/1/1 0:00:00尊敬的99Ex用户:99Ex一直致力于寻找具有发展潜力的数字资产项目,而此次活动的推出,是在全球范围内帮助平台参与者,获得优质项目的参与机会,同时也能帮助项目团队获得资金和社区上的支持.
1900/1/1 0:00:00