01導語
上一期我們介紹了本體Python智能合約的合約執行API,本期我們將討論如何通過NativeAPI來進行本體原生合約調用。原生合約調用最典型的功能就是合約轉賬,這也是整個智能合約最核心的部分。NativeAPI只有1個API。用法如下:
同時,使用Invoke函數需要內建的state函數輔助來封裝參數,用法如下:
下面我們具體講述一下這兩個API的使用方法。在這之前,小伙伴們可以在本體智能合約開發工具SmartX中新建一個合約,跟著我們進行操作。跟以前的API講解一樣,在文章最后我們將給出這次講解的所有源代碼以及視頻講解。
Web3短視頻平臺Cheelee完成1000萬美元融資:6月15日消息,Web3短視頻平臺Cheelee完成1000萬美元融資,VCSILA參投(未來代幣協議SAFT形式),新資金將用于加速旗下垂直視頻社交網絡應用的開發和營銷推廣工作。
此前消息,Web3視頻社交平臺Cheelee完成800萬美元股權融資,美國投資基金Veligera Capital、阿聯酋Infinity Technology Fund、以及VCSILA等參投,該公司還獲得了130萬美元VC基金撥款支持。[2023/6/15 21:38:04]
02NativeAPI使用方法
波場TRON和Pornhub合作發布宣傳視頻:據官方消息,波場TRON和Pornhub合作發布了宣傳視頻,具體視頻點擊原文鏈接。
據悉,早于2018年6月29日,全球最大的成人網站Pornhub就已接受全球主流數字資產TRX支付購買付費內容,Pornhub是全球最大的成人視頻分享類網站之一,被視為“成人 2.0”的先驅。 TRX作為支付手段,已正式在Pornhub落地使用,并作為會員充值的一種付費方式在該網站完成支付。如今已為生態用戶提供更加豐富完善的應用場景并持續拓展TRX主流的加密資產影響力。[2020/12/15 15:17:22]
同樣,使用這兩個函數前需要引入。下面兩條語句分別引入了這兩個函數。
動態 | YouTube上出現推廣免費獲得比特幣的詐騙軟件視頻:據Bleeping Computer報道,安全研究人員Frost發現,YouTube上出現了推廣免費獲得比特幣的詐騙軟件視頻。該軟件聲稱可幫助用戶獲得免費的比特幣,實則是在用戶設備上安裝njRAT遠程訪問木馬和密碼竊取程序。這些視頻通常在標題或說明中包含“FREEBITCO IN”字符串。[2019/6/27]
2.1本體原生合約列表
目前,本體可供使用的原生合約有六個。以下就是可以使用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,探討如何在本體智能合約中進行合約升級。本期講述的所有語法部分我們提供了中文視頻,小伙伴們可以觀看學習。
尊敬的幣團用戶: 近期幣團收到用戶投訴稱,有人冒充幣團客服,拉用戶進入所謂的幣友交流群進行盜套幣友信息等事情.
1900/1/1 0:00:00據Coinpost報道,為響應6月份金融行動特別工作組公布的反洗錢新規,加密貨幣行業迫切需要采取措施來遵守。雖然有望應對,但實際層面存在許多問題.
1900/1/1 0:00:00親愛的用戶: 根據ETC(EthereumClassic)官方計劃,ETC將于區塊高度達到8,772,000時進行硬分叉升級.
1900/1/1 0:00:002019年9月17日,據火幣官方消息,基于火幣云技術搭建的品牌站——火幣阿根廷站今日正式上線Web端.
1900/1/1 0:00:00親愛的大幣網(Dcoin)用戶:ETC硬分叉已完成,ETC的充值和提現功能將于今日16:00恢復.
1900/1/1 0:00:00為了回饋用戶,GGBTC萬有引力交易所將進一步聯合項目方進行大規模專屬空投,更有充值VGO贈送VGO等福利活動.
1900/1/1 0:00:00