以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > Luna > Info

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

Author:

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

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

Luna
世界大型比特幣礦池挖礦簡史_BTC

比特幣礦池歷經不斷競爭,一次次的壯大。今天,消失的礦池比活躍的礦池更多。活下來的礦池所有的哈希算力可以保護數百個PoW加密網絡,從BTC和BCH等主要數字貨幣到moneroclassic和zca.

1900/1/1 0:00:00
PayPal:我們非常相信Libra的潛力_LIBRA

據法新社報道,支付巨頭PayPal表示雖然加入Libra協會的承諾沒有約束力,但是其非常相信Libra的潛力.

1900/1/1 0:00:00
迎接負利率時代 重新審視硬通貨比特幣的投資價值_比特幣

撰文:小毛哥所有人都在談論負利率。是的,我們離負利率世界不遠了。全球最大的資產管理人貝萊德的首席投資官RickRieder上周在官方博客發問:貨幣寬松的盡頭是什么?資本市場和整個社會都將走向沒有.

1900/1/1 0:00:00
研究報告:2025年 區塊鏈醫療市場規模將超16億美元_區塊鏈

作者:AnaAlexandre|編譯者:Maya根據全球市場研究和咨詢公司GlobalMarketInsights的數據,預計到2025年,區塊鏈技術在醫療健康市場的價值將超過16億美元.

1900/1/1 0:00:00
《倚天屠龍記》中的密碼學:隱藏法_ZIP

古代戰爭和武俠小說中的常用密碼學:隱藏法 作者:村頭二舊 我會出幾篇文章給大家講一下什么是密碼學,密碼學歷史上經過了那幾個階段,為什么密碼學成了整個區塊鏈行業的基礎.

1900/1/1 0:00:00
Band Protocol:非中心化的數據管理框架 —BiQuan Choice 評級_BAN

BandProtocol是基于區塊鏈的非中心化數據管理協議,為DAPP和智能合約提供預言機的鏈下數據,預言機通過采用DpoS共識機制來確保數據的完整性.

1900/1/1 0:00:00
ads