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

本體技術視點 | Python智能合約開發學起來_ACT

Author:

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

01前言

在之前的技術視點文章中,我們介紹了目前本體主網支持的智能合約體系以及相應的智能合約開發工具SmartX。很多小伙伴都想上手練一練。在本期的本體技術視點中,我們將正式開始講述智能合約語法部分。本體的智能合約API分為7個模塊,分別是Blockchain&BlockAPI、RuntimeAPI、StorageAPI、NativeAPI、UpgradeAPI、ExecutionEngineAPI以及Static&DynamicCallAPI。本期我們將介紹?Blockchain&BlockAPI,這是本體智能合約體系中最基礎的部分。其中,BlockchainAPI支持基本的區塊鏈查詢操作,如獲取當前塊高等;BlockAPI支持基本的區塊查詢操作,如查詢指定區塊交易數等。同時,文末將提供視頻講解。

音樂流媒體平臺ROCKI與本體達成合作,以解決去中心化身份問題:11月6日消息,音樂流媒體服務和音樂 NFT 平臺 ROCKI 與區塊鏈平臺本體(Ontology)達成合作。在本體去中心化批量驗證解決方案ONT TAG的支持下,ONT TAG 使 ROCKI能夠在用戶授權的情況下快速獲取用戶的可驗證憑證。在保護用戶隱私的同時執行授權過程。

ROCKI 是基于幣安智能鏈構建的音樂流媒體服務和數字支付生態,旨在解決音樂行業的平臺可玩性和參與者收益分配問題。[2021/11/6 6:35:06]

在這之前,小伙伴們可以在本體智能合約開發工具SmartX中新建一個合約,跟著我們進行操作。

02?BlockchainAPI使用方法

本體發起dApp獎勵升級計劃 提供3個月試用期:8月15日晚間,本體官方發文宣布,將本體dApp獎勵計劃升級為新的“Renaissance 2.0”。該計劃將提供為期3個月的試用期,即從8月15日到10月15日。該計劃目的是鼓勵項目在本體網絡構建DeFi,并增強DeFi生態系統。[2020/8/14]

智能合約函數的引用與Python的引用如出一轍。開發者可以根據需要引入相應的函數。例如,下面語句引入了獲取當前最新塊高函數GetHeight和獲取區塊頭函數GetHeader。

2.1?GetHeight

開發者可以使用GetHeight來獲取當前最新塊高,具體例子如下。在后面的例子中,為了節省空間,我們將省略Main函數,小伙伴在練習的時候可以根據需要加入。

動態 | 本體推出dApp Store:近日,本體(Ontology)宣布推出“Renaissance 激勵計劃”dApp Store 激勵模型,構建屬于開發者的區塊鏈平臺生態。[2018/12/19]

2.2?GetHeader

開發者可以使用GetHeader來獲取區塊頭,參數是某個塊的塊高。具體例子如下:

2.3GetTransactionByHash

開發者可以使用GetTransactionByHash函數通過交易哈希獲取交易。交易哈希以bytearray的格式,作為參數傳入GetTransactionByHash。這個函數的關鍵在于如何轉換將十六進制格式的交易哈希轉變為bytearray格式的交易哈希。我們以16進制格式的交易哈希為例,實現將十六進制格式的交易哈希轉變為bytearray格式的交易哈希。示例哈希如下:

本體創始人:公有鏈真正提供的產品是哲學和價值觀:Ontology本體創始人李俊今日在第二屆區塊鏈新金融高峰論壇上表示,公有鏈真正提供的產品是哲學和價值觀,不過這些價值觀無關對錯好壞,只看是否適合,“用戶喜歡哪一套哲學就在哪個項目里玩”。而這一點傷,國外團隊做得比較好,中國則相對較弱,更傾向于以技術、以團隊、以錢服人,不過本體希望能夠在這個方面做到世界領先水平。[2018/6/6]

首先,將該交易哈希反序得到:

開發者可以通過SmartX提供的轉換工具HexNumber(littleendian)<-->Number實現這一步。然后,將其轉成bytearray格式:

開發者可以通過SmartX提供的轉換工具String<-->ByteArray實現這一步。最后,將得到的bytearray轉換成相應的字符串:

GetTransactionByHash函數通過交易哈希獲取交易的例子如下:

2.4?GetTransactionHeight

開發者可以使用GetTransactionHeight函數通過交易哈希獲取交易高度。我們還是以上個例子中的哈希為例:

2.5?GetContract

開發者可以使用GetContract函數通過合約哈希獲取合約。其中,合約哈希的轉換過程與上面講到的交易哈希轉換過程一致。

2.6?GetBlock

開發者可以使用GetBlock函數獲取區塊。有兩種方法可以獲取指定區塊:1.通過塊高獲取區塊:

2.通過區塊哈希獲取區塊:

03?BlockAPI使用方法

BlockAPI中可供引用的函數有三個,它們分別是GetTransactions、GetTransactionCount和GetTransactionByIndex。我們依次介紹下這三個函數。

3.1?GetTransactionCount

開發者可以使用GetTransactionCount函數獲取指定區塊的交易數量。

3.2?GetTransactions

開發者可以使用GetTransactions函數獲取獲取指定區塊的所有交易。

3.3GetTransactionByIndex

開發者可以使用GetTransactionByIndex函數獲取指定區塊的指定交易。

04?后記

Blockchain&BlockAPI在智能合約中起到查詢區塊鏈數據和區塊數據的作用,是智能合約最不可缺少的一部分。在后面的技術視點中,我們將討論如何使用其它API,探討它們和本體區塊鏈的交互。本期講述的所有語法部分我們提供了中文視頻,小伙伴們可以觀看和學習。

視頻觀看鏈接:https://v.qq.com/x/page/x0822d6u8xl.html

*詳細代碼信息可能顯示不全,可參考:https://mp.weixin.qq.com/s/t1sX3aDi5WVTthnc4sMHkQ

Tags:GETTRAACTIONtogetherbnb游戲官網Electra Protocolact幣還有希望嗎Ignition

中幣交易所
兩年了 我仍然會想起_區塊鏈

今天的封面是《人生旅程》,托馬斯·科爾今天對于幣圈是個特殊的日子—94兩周年,談起那場罕見的行業動蕩,一些慘象還歷歷在目.

1900/1/1 0:00:00
BigONE 「IRIS 礦池」產品已正式運行_BigONE

親愛的用戶: BigONE的「IRIS礦池」產品已開始運行,已經投入該礦池產品的IRIS將開始產生收益.

1900/1/1 0:00:00
關于WBFex上線BBTC的公告_TPS

尊敬的WBFex用戶: WBFex即將在開放區上線BBTC/USDT交易對,具體情況如下:充值時間:2019年9月4日11:00交易時間:2019年9月4日19:19提現時間:2019年9月5日.

1900/1/1 0:00:00
無法接收短信驗證碼_INB

手機無法接收短信驗證碼,可能是由于以下原因導致:1、非本平臺支持的國家地區的手機號碼 2、手機安全軟件攔截 巴菲特:他無法想象美國會出現債務違約:5月6日消息,沃倫·巴菲特周六表示.

1900/1/1 0:00:00
暴富指南:2019年該如何選擇山寨幣?_以太坊

比特幣從一開始的領漲,山寨幣并沒有跟上,此次比特幣回調到一萬刀附近后,山寨幣開始全面下跌,如果對標比特幣,絕大部分山寨都創下了本年歷史新低,比特幣市值占比卻不斷突破年度新高.

1900/1/1 0:00:00
創造新的貨幣需求——Libra影響力分析及應對(上)_區塊鏈

摘要 從貨幣創造的角度分析,很多人會把Libra聯盟理解為Libra的“央行”——確實,一個“分布式央行”似乎已經夠驚世駭俗了.

1900/1/1 0:00:00
ads