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
動態 | 賽迪公鏈評估第8期名單公布 本體新增入選:今天,賽迪全球公有鏈技術評估官方網站更新了第8期的評估名單,名單顯示,本體(Ontology)入選新一期評估目錄,評估對象增加至34個。[2018/12/14]
開發者可以使用GetHeight來獲取當前最新塊高,具體例子如下。在后面的例子中,為了節省空間,我們將省略Main函數,小伙伴在練習的時候可以根據需要加入。
2.2?GetHeader
開發者可以使用GetHeader來獲取區塊頭,參數是某個塊的塊高。具體例子如下:
2.3GetTransactionByHash
開發者可以使用GetTransactionByHash函數通過交易哈希獲取交易。交易哈希以bytearray的格式,作為參數傳入GetTransactionByHash。這個函數的關鍵在于如何轉換將十六進制格式的交易哈希轉變為bytearray格式的交易哈希。我們以16進制格式的交易哈希為例,實現將十六進制格式的交易哈希轉變為bytearray格式的交易哈希。示例哈希如下:
現場 | ONTology本體主網將于6月30日發布 :金色財經現場報道,6月26日在圣何塞會議中心舉行的Blockchain Connect會議上,本體創始人李俊宣布,ONTology本體主網即將在6月30日上線。李俊表示,目前公鏈的挑戰主要由性能問題和場景兩方面組成。解決方案為建立公共服務鏈、高性能的區塊鏈架構和協議組。本體則致力于建立新架構的公鏈,分布式的信任生態平臺。李俊介紹了本體的區塊鏈網絡愿景和信任生態愿景,宣布2018年6月30日主網預上線,具體介紹了本體1.0將在基礎設施、模塊和協議、常用應用等方面進行全面建設的具體情況。為了支持開發社區,本體推進計劃(OEP,Ontology Enhancement Proposal)將為開發者群組提供1億ONT。[2018/6/27]
首先,將該交易哈希反序得到:
本體創始人李俊:跨鏈不是一個單一協議的問題,而是協議群的問題:3月26日下午,在全球區塊鏈(杭州)高峰論壇的圓桌會議上,本體創始人李俊表示我們對跨鏈理解以及技術戰略性的考慮,跨鏈不是一個單一協議的問題,而是協議群的問題,跨鏈像國家與國家交往,對于本體當中跨鏈分成三個層次:一是松耦合的,包括分布式的身份映射和數據交換,還有資產層和事物層,最下面是共識層跨鏈,現在業界沒有特別完整的方案,大家都在探索當中,這一層是最有價值也是難度最高的一層。[2018/3/26]
開發者可以通過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:GETACTTRAIONtogetherbnb能睡幾個PactSwapTravel Coin6 Generation
區塊鏈和游戲應用的相遇相攜有目共睹。傳統游戲行業急需引入新玩法和新邏輯尋求新的突破和增量,區塊鏈的底層技術和通證模式能為傳統游戲的變革提供新思路,而游戲則承載了區塊鏈這一生澀技術飛入尋常百姓家的.
1900/1/1 0:00:00DragonEx同時上線BTT/USDT,KAKI/USDT交易對公告 2019-09-05 親愛的用戶: DragonEx將于2019年9月5日17:00同時上線BTT,KAKI幣種.
1900/1/1 0:00:00據DAppTotal.com數據顯示,以太坊自去年年底類DApp火爆以來,一直處于EOS和TRON之后,而對比09月03日數據發現,每日活躍用戶量:EOS112,701個,ETH80.
1900/1/1 0:00:002019年8月,全球新增區塊鏈應用項目再次進入低谷。根據互鏈脈搏研究院不完全統計,2019年8月,全球共披露區塊鏈應用項目52個,環比7月份下滑了23.5%.
1900/1/1 0:00:00親愛的用戶:您好!ZG.COM將于2019年9月11日10:00開放HDC的充幣和提幣業務,于9月13日10:00首發開啟HDC/CNZ交易對.
1900/1/1 0:00:00今早一覺醒來,泰國加密貨幣交易員和投資者發現了一個令人不快的意外:該國主要的數字資產交易所宣布將關閉.
1900/1/1 0:00:00