買以太坊 買以太坊
Ctrl+D 買以太坊
ads

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

Author:

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

01導語

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

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

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

a16z Crypto上線“加密創業學校CSS23”教育視頻:金色財經報道,a16z Crypto在其官推宣布已正式上線 “加密創業學校CSS23”教育視頻,其中覆蓋了量子區塊鏈、Web3拍賣、零知識證明基礎、以及創始人分享等主題。a16z Crypto從2020年2月開始CSS加速器計劃,會為Web3新創公司量身定做,提供來自a16z基金的資金、加密產業創辦人指導與各領域專家的講座,同時加入a16z的資源網路,利于擴展公司規模,包括Phantom、Flashbots等知名團隊都出自CSS,并募集了超過3億美金的風險投資。[2023/6/4 11:56:24]

02NativeAPI使用方法

區塊鏈視頻流平臺Theta的去中心化數據流和傳輸網絡中的跟蹤服務器獲美國專利:5月31日消息,基于區塊鏈的視頻流平臺 Theta Network 宣布其去中心化數據流和傳輸網絡中的跟蹤服務器已獲得美國專利,專利中描述的去中心化流媒體網絡是一個多層全局緩存,包括對等查看器、邊緣節點和 CDN 服務器,跟蹤器服務器協調數據片段的傳輸和支付。[2023/5/31 11:50:07]

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

2.1本體原生合約列表

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

游戲巨頭Epic Games為專注于元宇宙而關閉社交視頻應用Houseparty:9月10日消息,游戲巨頭Epic Games將于10月關閉旗下熱門社交視頻應用Houseparty,并將吸收后者團隊,致力于“創造新的方式,在整個Epic Games家族中以元宇宙的規模進行有意義的、真正的社交互動。”據悉,Epic Games在2019年以3500萬美元收購了Houseparty。去年,Houseparty已被整合進Epic Game的旗艦游戲《堡壘之夜》中,允許用戶在玩游戲時進行視頻聊天。今年早些時候,Epic Games完成10億美元融資,以支持構建元宇宙的愿景。(華爾街日報)[2021/9/10 23:14:57]

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

Tags:APIONTARTEAPHAPI幣ont本體幣最新消息Artificial Liquid IntelligenceREAP

幣贏交易所
DEX:存信數據平臺公信寶被封 “爬蟲”為罪魁禍首?_去中心化交易所dex安全嗎

9月11日,金色財經獨家現場確認存信數據平臺公信寶被杭州市局西湖分局古蕩派出所查封,另有可靠消息稱有公信寶員工失聯.

1900/1/1 0:00:00
CLE:關于WBFex平臺上線BKC的公告_SAFEX價格

尊敬的WBFex用戶:WBFex即將上線BKC,并在開放區開通BKC/DUSD的交易對,具體時間安排如下:充值時間:2019年9月27日14:00交易時間:2019年9月28日14:00提幣時間.

1900/1/1 0:00:00
BIT:交易員Crypto Bitlord:我們正在朝著分叉XRP不斷邁進_LOR

曾揚言要分叉XRP的交易員CryptoBitlord稱,他和他的同事們正在朝著硬分叉XRP邁進.

1900/1/1 0:00:00
LOEx國際站9月18日20:00上線NCTN

尊敬的LOEx用戶:LOEx國際站即將上線NCTN,并開放NCTN/USDT的交易對,具體時間如下:LOEx于新加坡時間9月18日14:00開放NCTN充提幣業務.

1900/1/1 0:00:00
CAS:關閉交易后門 Zcash最大缺陷或因這個方案被解決_Wrapped Zcash

隱私幣Zcash背后的公司ElectricCoinCompany表示,其已經想出了一個可以解決Zcash最大缺陷的方案.

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

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

1900/1/1 0:00:00
ads