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

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

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

本體計劃月底推出Ontology 2.0版本 并于7月7日主網升級:6月19日,本體(Ontology)官方宣布,將于6月底推出Ontology 2.0版。該版本一系列主網升級集成,主網升級將于7月7日開始生效。[2020/6/19]

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

02?BlockchainAPI使用方法

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

2.1?GetHeight

聲音 | 本體核心開發者郭笑杰:中心網絡結構的數據更易受DDOS攻擊:1月5日,在2019北京交通大學區塊鏈技術講座上,本體核心開發者郭笑杰介紹了對等網絡結構相比于中心網絡結構的優勢。他表示,中心網絡結構的數據需要冗余備份,且更易受DDOS攻擊,而區塊鏈驅動的對等網絡,具備透明公開、防止篡改、抗攻擊能力強的特點。[2019/1/6]

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

2.2?GetHeader

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

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

2.3GetTransactionByHash

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

本體公布經濟模型及激勵機制:本體公布經濟模型及激勵機制,節點通過硬件投入和ONT權益抵押來獲得提供區塊鏈治理服務的資格,通過提供區塊鏈治理服務來獲得ONG作為回報。在初始3年,本體基金會為北斗共識集群準備每年至少1%的額外激勵,3年后,根據本體中應用的廣泛程度調整激勵額度。激勵的本質是為了北斗節點更好的為區塊鏈服務,豐富更多的鏈上應用,因而激勵將使用“節點抵押激勵”的設計。小額度的ONT參與者可以通過委托抵押的方式,與其他參與者共同構建治理節點,并共同商定激勵分配模式。[2018/5/25]

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

開發者可以通過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:GETACTTRAAPIbitGet交易所可信不Transaction Service feeNanTradeapix幣什么條件才能漲

火必下載
牛市生命線:MA120保衛戰 | 區塊鏈數據月報_EFI:FIFTYONEFIFTY

八月末,BTC再次下探9300美元,接近關鍵的MA120支撐位。在16~17年的牛市中,MA120是BTC每次回調到此都會止跌反彈并創出新高的重要支撐,被譽為牛市的生命線.

1900/1/1 0:00:00
【通知】關于暫停VOLLAR充提幣的公告(已恢復)_UBI:coinweb交易所

尊敬的Hubi全球用戶:因VOLLAR官方錢包升級,Hubi現已暫停VOLLAR充提幣,升級時間預計持續至9月4日00:00。待VOLLAR官方錢包升級完成后,Hubi將會第一時間恢復充提.

1900/1/1 0:00:00
XPS 二級推進輪說明_DNA:SXP幣

尊敬的用戶: XPS二級推進輪將在XChange交易所啟動,說明如下: 關于ProjectX ProjectX是一個受仿生學啟發的雙鏈共生區塊鏈項目.

1900/1/1 0:00:00
分析:XRP最近多次出現大額轉賬,或將影響價格繼續下跌_PLE:kepple幣價格

9月3日,三筆共10億枚XRP自Ripple托管錢包轉至Ripple地址,轉賬類型被標記為支付。之后有3億XRP重新鎖入托管錢包.

1900/1/1 0:00:00
BiKi.com關于獨家首發上線TEP的公告(0906)_TPS:htt幣價格

尊敬的用戶: BiKi.com即將開放TEP的充值、提現,并開放TEP/USDT交易對,具體時間如下:1、開放充值時間:9月3日13:00;2、開放交易時間:9月6日10:00;3、開放提現時間.

1900/1/1 0:00:00
QURAS專訪丨專注數據隱私安全技術 引領“隱私2.0” 時代_QURA:Qura Global

數據隱私是當今社會最受關注的問題之一,隨著互聯網應用的普及和人們對互聯網的依賴,我們的一舉一動都在產生著數據,從華住酒店房客信息泄露到facebook用戶隱私的曝光,隱私泄露問題愈演愈烈.

1900/1/1 0:00:00
ads