以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

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

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支持基本的區塊查詢操作,如查詢指定區塊交易數等。同時,文末將提供視頻講解。

本體推出區塊鏈領域信用評分體系OScore:調研機構CryptoDiffer發推稱,本體(Ontology)推出Oscore,這是去中心化世界的首個信用評分。根據本體發布的文章,本體信用評分體系OScore是基于本體區塊鏈平臺數據形成的由用戶自我管理的評分體系,能夠幫助DeFi等用戶跨錢包管理資產的去中心化身份解決方案。OScore能夠全方位展示用戶在鏈上的信用情況,還有助于預測用戶潛在的信用風險。

OScore基于用戶的真實鏈上數據,為用戶生成信用評分。數據來源主要包含數字資產持有情況、數字資產交易記錄、KYC(實名認證)狀態、違約情況記錄、歷史信用數據。[2020/10/21]

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

本體與德國初創企業Spherity合作 加快開發數字身份解決方案:本體(Ontology)近日與德國數字身份和云錢包供應商Spherity合作,加快產品和企業數字身份解決方案的開發。此次合作將使Spherity的云邊緣錢包與Ontology (ONT)區塊鏈集成,并允許本體使用Spheriy的去中心化數字身份解決方案。雙方將共同努力利用Spherity現有的客戶基礎,創建概念驗證試點,演示在供應鏈、移動和制藥領域的數字身份應用程序。此外本體和Spherity還將在研究和營銷活動方面進行合作。(Cointelegraph)[2020/5/23]

02?BlockchainAPI使用方法

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

本體:5月將有3.75%的核心團隊代幣解鎖并分配給Staking活動:本體官推發推稱:“今年5月,將有另外3.75%的核心團隊代幣被解鎖并分配給所有的Staking活動,這些活動將不會發布到市場上。本體基金會對未來充滿信心,并將繼續保持可持續、健康、穩定的生態系統發展。”[2020/4/18]

2.1?GetHeight

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

2.2?GetHeader

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

聲音 | 本體創始人:本體即將在其公鏈上發行美元穩定幣:本體(ONT)創始人李俊表示,本體正在與合規的機構商談在本體公鏈上發行美元穩定幣,但是這個合作機構一定不是USDT,USDT這在美國并不合規。此外,本體會在6月底會上線分片測試網。這個月還會發布一個本體的跨鏈框架和協議。另外本體的layer 2也會在今年第二季度上線。[2019/4/26]

2.3GetTransactionByHash

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

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

開發者可以通過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:GETTRAACTAPItogetherbnb最新版本下載Transaction Service feeact幣還有希望嗎CAPITAL X CELL

萊特幣價格
28家險企上線智能人傷定損平臺 “區塊鏈 AI”助保險業騰飛_區塊鏈

區塊鏈技術如何落地應用,是近年來區塊鏈行業一直關注的話題之一。日前,有媒體報道稱,目前國內已有包括永安財險、利寶保險在內的28家中小型保險公司上線了基于人工智能、大數據、區塊鏈等技術的智能人傷定.

1900/1/1 0:00:00
KuCoin上線Amino(AMIO) !_COIN

親愛的KuCoin用戶:KuCoin現已上線Amino(AMIO)項目并支持交易對:AMIO/BTC和AMIO/USDT.

1900/1/1 0:00:00
關于NSC推出全球第一份幣值合約_NSC

親愛的LOEx用戶:NSC項目方應廣大社群用戶需求,推出的全球第一份幣值保險——幣值合約。“幣值合約”為保障用戶在合約期內幣值不被貶值,并在合約到期以后,還會獲得5%的合約利息.

1900/1/1 0:00:00
關于CCC延遲上線的公告_BTM

公告編號2019090301各位關心ZBG.COM的項目方和投資者們:CCC將延遲上線,具體上線時間以公告為準,給您帶來不便深感抱歉,敬請諒解.

1900/1/1 0:00:00
LOEx國際站9月10日16:00上線DET

尊敬的LOEx用戶:LOEx交易所即將首發上線DET,并開放DER/USDT、DER/LCNY的交易對.

1900/1/1 0:00:00
DAC全球區塊鏈日本峰會 BHD全球化之旅再下一城_BHD

8月29日,“斑馬DAC全球區塊鏈峰會”日本站暨重塑新型加密貨幣體系亞洲共識論壇,在日本東京召開,BHDCommunity作為聯合主辦方共同參與了本次活動的舉辦.

1900/1/1 0:00:00
ads