比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

視頻| 本體技術視點 | Python智能合約教程之原生合約調用_EAP

Author:

Time:1900/1/1 0:00:00

01導語

上一期我們介紹了本體Python智能合約的合約執行API,本期我們將討論如何通過NativeAPI來進行本體原生合約調用。原生合約調用最典型的功能就是合約轉賬,這也是整個智能合約最核心的部分。NativeAPI只有1個API。用法如下:

同時,使用Invoke函數需要內建的state函數輔助來封裝參數,用法如下:

下面我們具體講述一下這兩個API的使用方法。在這之前,小伙伴們可以在本體智能合約開發工具SmartX中新建一個合約,跟著我們進行操作。跟以前的API講解一樣,在文章最后我們將給出這次講解的所有源代碼以及視頻講解。

BCH支持者正在籌款制作視頻營銷BCH:BCH支持者Hayden Otto發起一項目標為650個BCH(將近180,000美元)的籌款活動,這些資金將用于制作視頻,并發布到YouTube,Lbry.io和Bitchute上,向主流受眾推廣BCH。據悉,他是在了解到一些支持者表示“愿意向BCH營銷而不是發展捐款”后決定這么做。(cointelegraph)[2020/8/12]

02NativeAPI使用方法

同樣,使用這兩個函數前需要引入。下面兩條語句分別引入了這兩個函數。

2.1本體原生合約列表

目前,本體可供使用的原生合約有六個。以下就是可以使用NativeAPI調用的原生合約列表:

獨家視頻直播 | 嘉楠科技納斯達克上市流程正式啟動:金色財經報道,嘉楠科技納斯達克上市流程正式啟動,金色財經獨家視頻直播嘉楠科技納斯達克敲鐘現場,更多詳情請查看原文。[2019/11/21]

在合約中,將合約地址轉成bytearray形式傳入Invoke即可。例如,需要調用ONTToken合約時,可以先將ONTToken合約對應的地址轉成相應的bytearray形式,再進行相應的Invoke函數調用。在進行Invoke函數調用時,傳入的參數分別為版本號,合約地址,調用的合約方法以及state函數封裝的轉賬相關參數。這里特別要注意的一點是,在進行ONG的合約轉賬時,所填數量是實際數量的10^9倍。即,如果需要轉10個ONG,那么數量需要填為10^10。而在采用ONTO或者Cyano等錢包轉賬時,所填數量即為轉賬數量。

加拿大說唱新貴發布關于比特現金的說唱視頻:本周,加拿大說唱新貴Lil Windex上傳了一個關于比特現金的說唱視頻,這一舉動讓他廣泛的歌迷群體驚訝,也使得更多人開始關注加密貨幣。[2018/3/10]

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,探討如何在本體智能合約中進行合約升級。本期講述的所有語法部分我們提供了中文視頻,小伙伴們可以觀看學習。

Tags:APIONTEAPONGapi幣價格Ontology GasREAPER價格hongkong幣匯率

狗狗幣最新價格
數據顯示:BTC出塊速度維持高速,主流交易所交易量持續縮水_BTC

據TokenGazer數據分析顯示:截止至9月12日17:00,BTC價格為$10,149.17,市值為$179,338.55M;主流交易所24HBTC交易量約為$557.89M.

1900/1/1 0:00:00
Binance JEX上線周ETH期權0919公告_ANC

ETH看漲期權 代碼周ETH看漲0919期權標的ETH合約類型歐式看漲期權計價單位USDT最小價格單位0.0001USDT合約比例10:1.

1900/1/1 0:00:00
BitCherry丨用分布式商業理念與技術引領分布式經濟變革_ITC

自誕生以來,區塊鏈技術便通過自身分布式節點、共識機制、密碼學、時間戳等技術來進行網絡數據的存儲、驗證、傳遞和交流,從而實現點對點傳輸,不可篡改等特點,從無人問津到街談巷議.

1900/1/1 0:00:00
Band Protocol(BAND)抽簽完成并開放交易_BAN

親愛的用戶: 根據BandProtocol的搖號中簽規則,Binance已完成BAND的抽簽工作.

1900/1/1 0:00:00
超跌反彈力度不強 BTC即將面臨方向選擇_BTC

人生復利的東西很多,讀書,金錢,能力,健康。有人認為人生就是一場馬拉松,一路上不斷有人因為各種原因掉隊,因為很多人沒有準備這么長的時間,這么長的距離.

1900/1/1 0:00:00
9.11晚間行情:BTC滑坡回調如何看待 主流幣反彈該如何介入_RIDGE

文章系金色財經專欄作者供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
ads