01前言
在之前的技術視點文章中,我們介紹了目前本體主網支持的智能合約體系以及相應的智能合約開發工具SmartX。很多小伙伴都想上手練一練。在本期的本體技術視點中,我們將正式開始講述智能合約語法部分。本體的智能合約API分為7個模塊,分別是Blockchain&BlockAPI、RuntimeAPI、StorageAPI、NativeAPI、UpgradeAPI、ExecutionEngineAPI以及Static&DynamicCallAPI。本期我們將介紹?Blockchain&BlockAPI,這是本體智能合約體系中最基礎的部分。其中,BlockchainAPI支持基本的區塊鏈查詢操作,如獲取當前塊高等;BlockAPI支持基本的區塊查詢操作,如查詢指定區塊交易數等。同時,文末將提供視頻講解。
本體將gas費從500上調至2500:本體(ONT)在電報群表示,根據最新發布經濟模型,從7月7日(UTC)起,本體鏈上gas費將從500調整為2500,gaslimit保持不變。所有本體Triones節點將在此時間之前進行此項調整。如果上述調整未能及時進行,則鏈上用戶可能無法正常進行ONT或ONG交易。節點申請的500ONG質押合約費用保持不變。[2020/7/3]
在這之前,小伙伴們可以在本體智能合約開發工具SmartX中新建一個合約,跟著我們進行操作。
02?BlockchainAPI使用方法
智能合約函數的引用與Python的引用如出一轍。開發者可以根據需要引入相應的函數。例如,下面語句引入了獲取當前最新塊高函數GetHeight和獲取區塊頭函數GetHeader。
動態 | 天秤座協會成員Bison Trails已增加對本體節點的支持:據CryptoGlobe 2月17日消息,天秤座協會成員Bison Trails已宣布支持其平臺上的本體(Ontology)節點。 該成員正在將Triones Node基礎架構集成到其平臺中,這將允許為企業公司無縫部署Ontology節點。[2020/2/17]
2.1?GetHeight
開發者可以使用GetHeight來獲取當前最新塊高,具體例子如下。在后面的例子中,為了節省空間,我們將省略Main函數,小伙伴在練習的時候可以根據需要加入。
2.2?GetHeader
開發者可以使用GetHeader來獲取區塊頭,參數是某個塊的塊高。具體例子如下:
聲音 | 本體(Ontology)創始人李俊:業務場景、商業機制的設計及行業拓展都在制約著公鏈發展:據東方財富消息,針對公鏈發展遇到的瓶頸問題,本體(Ontology)創始人李俊表示,公鏈目前都在做應用,但是實際落地的突破還不明顯。公鏈發展到后面不僅僅是技術問題,還涉及業務場景、商業機制的設計以及在不同行業的拓展。這些難度都很大,挑戰很多,需要在不同的行業設計新的規則、新的商業流程,才能把區塊鏈技術應用進去。[2019/1/7]
2.3GetTransactionByHash
開發者可以使用GetTransactionByHash函數通過交易哈希獲取交易。交易哈希以bytearray的格式,作為參數傳入GetTransactionByHash。這個函數的關鍵在于如何轉換將十六進制格式的交易哈希轉變為bytearray格式的交易哈希。我們以16進制格式的交易哈希為例,實現將十六進制格式的交易哈希轉變為bytearray格式的交易哈希。示例哈希如下:
動態 | 本體宣布與美國形式化驗證公司CertiK展開戰略合作:7月17日消息,本體(Ontology)宣布與美國形式化驗證公司CertiK展開戰略合作,雙方將深耕形式化驗證領域,增強智能合約和區塊鏈系統的安全性和可靠性。[2018/7/17]
首先,將該交易哈希反序得到:
開發者可以通過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
親愛的用戶: 胖比特國際站已上線項目CoinNess(CNNS)并支持CNNS/USDT交易對,現已開放交易.
1900/1/1 0:00:009月4日,全球最大的職場社交平臺領英發布了2019年頂級初創企業排行榜,對美國、澳大利亞、加拿大、中國、法國、德國、印度、日本、巴西、墨西哥、英國和荷蘭等十二個國家內的一流初創公司進行了甄選、點.
1900/1/1 0:00:00“哎……行情不景氣啊,最近生活水平直線下降。”戰士唉聲嘆氣。“誰說不是呢!我最近包包都不太敢買了,前幾個月還能咬咬牙買個LV,最近就只敢看MK了。”牧師同樣一臉悶悶不樂.
1900/1/1 0:00:00尊敬的HCoin用戶: 為慶祝BAC上線,HCoin平臺聯合BAC共同開展交易競賽,舉行BCV和BAC雙幣聯動活動,持續7天交易競賽,共贏BCV獎勵.
1900/1/1 0:00:002019年已經過了大半年,公鏈行業依然是那么地平淡無奇,沒有爆款應用,也沒有突破性技術,實在是令人揪心.
1900/1/1 0:00:00尊敬的EZB用戶: EZB定于2019年9月4日16:00重磅推出法幣交易區穩定幣DCNY。DCNY是由注冊于香港的DIGITALCNYLIMITED公司基于香港法律發行的一種點對點網絡穩定幣系.
1900/1/1 0:00:00