01導語
上一期我們介紹了本體Python智能合約的合約執行API,本期我們將討論如何通過NativeAPI來進行本體原生合約調用。原生合約調用最典型的功能就是合約轉賬,這也是整個智能合約最核心的部分。NativeAPI只有1個API。用法如下:
同時,使用Invoke函數需要內建的state函數輔助來封裝參數,用法如下:
下面我們具體講述一下這兩個API的使用方法。在這之前,小伙伴們可以在本體智能合約開發工具SmartX中新建一個合約,跟著我們進行操作。跟以前的API講解一樣,在文章最后我們將給出這次講解的所有源代碼以及視頻講解。
Web3視頻平臺Shibuya完成690萬美元融資,蔡崇信等參投:12月8日消息,由數字藝術家Emily Yang推出的Web3視頻平臺Shibuya宣布完成690萬美元融資,a16z Crypto和Variant聯合領投,帕麗斯·希爾頓和NBA球星凱文·杜蘭特等名人、阿里巴巴聯合創始人蔡崇信、DeFi交易平臺Aave創始人Stani Kulechov等參投,該平臺在本輪融資中的估值達到5000萬美元。
Shibuya旨在利用Web3服務幫助電影制作人通過影迷來募資和發行電影,而不再依賴于好萊塢制片系統,該平臺像是“Netflix和眾籌平臺Kickstarter的結合體”。(fortune crypto)[2022/12/9 21:32:28]
02NativeAPI使用方法
澎湃新聞發行首款原創動畫視頻數字藏品:金色財經報道,2022年4月2日世界自閉癥關注日之際,澎湃新聞發行的首款數字藏品——原創動畫視頻《一個自閉癥孩子對母親愛的告白》,上架僅54秒便告售罄。該作品在視覺中國“元視覺”藝術網發售,限量5000份,每份售價19.9元,發售所得收益將全部捐贈給中華社會救助基金會,由其定向捐助給專業的自閉癥關護和救治機構。[2022/4/2 14:01:04]
同樣,使用這兩個函數前需要引入。下面兩條語句分別引入了這兩個函數。
2.1本體原生合約列表
目前,本體可供使用的原生合約有六個。以下就是可以使用NativeAPI調用的原生合約列表:
馬斯克發布關于狗狗幣的視頻:金色財經報道,Ark Invest研究總監Brett Winton發布了一條有關老派人士不了解比特幣礦工的推文。作為回應,埃隆·馬斯克發布了一段關于狗狗幣的視頻,稱其“解釋了一切”。視頻中,一只柴犬(DOGE的象征)坐在火箭上,這使得它的市值超過了比特幣和其他主要加密貨幣。
視頻還簡要展示了用于狗狗幣、比特幣、萊特幣等第一代加密貨幣及其衍生加密貨幣的PoW算法的微芯片。狗狗幣聯合創始人Billy Markus也加入了討論,稱這段視頻是“歷史上最好的加密貨幣視頻”。(U.Today)[2022/4/2 14:00:51]
在合約中,將合約地址轉成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:APIONTEAPONGAll Coins Yield CapitalMoonTrustBSCQuantum LeapThe Wrong Token
比特幣礦池歷經不斷競爭,一次次的壯大。今天,消失的礦池比活躍的礦池更多。活下來的礦池所有的哈希算力可以保護數百個PoW加密網絡,從BTC和BCH等主要數字貨幣到moneroclassic和zca.
1900/1/1 0:00:00據法新社報道,支付巨頭PayPal表示雖然加入Libra協會的承諾沒有約束力,但是其非常相信Libra的潛力.
1900/1/1 0:00:00撰文:小毛哥所有人都在談論負利率。是的,我們離負利率世界不遠了。全球最大的資產管理人貝萊德的首席投資官RickRieder上周在官方博客發問:貨幣寬松的盡頭是什么?資本市場和整個社會都將走向沒有.
1900/1/1 0:00:00作者:AnaAlexandre|編譯者:Maya根據全球市場研究和咨詢公司GlobalMarketInsights的數據,預計到2025年,區塊鏈技術在醫療健康市場的價值將超過16億美元.
1900/1/1 0:00:00古代戰爭和武俠小說中的常用密碼學:隱藏法 作者:村頭二舊 我會出幾篇文章給大家講一下什么是密碼學,密碼學歷史上經過了那幾個階段,為什么密碼學成了整個區塊鏈行業的基礎.
1900/1/1 0:00:00BandProtocol是基于區塊鏈的非中心化數據管理協議,為DAPP和智能合約提供預言機的鏈下數據,預言機通過采用DpoS共識機制來確保數據的完整性.
1900/1/1 0:00:00