第八章
一、以太坊瀏覽器Etherscan
etherscan是一個(gè)在以太坊以及去中心化智能合約上的區(qū)塊瀏覽器和分析平臺(tái)。在其中我們可以很方便的查找、認(rèn)證和檢驗(yàn)以太坊區(qū)塊鏈上發(fā)生的所有交易,包括智能合約的創(chuàng)建、調(diào)用、代幣交易等。旨在輔助以增強(qiáng)區(qū)塊鏈的透明性。
1、Ethersan的基本功能
- 交易查詢:在BLOCKCHAIN一欄。
- 區(qū)塊查詢:
- 賬戶查詢(ACCOUNT)。
- 代幣查詢(TOKEN)。
2、其他功能
-
相關(guān)圖表數(shù)據(jù)(CHART):
基本信息:交易歷史折線圖、地址增長折線圖、以太幣總量餅狀圖
貨幣信息:以太幣歷史價(jià)格折線圖、以太幣供應(yīng)量增長折線圖
網(wǎng)絡(luò)信息:網(wǎng)絡(luò)散列率增長折線圖、區(qū)塊難度增長折線圖、待定交易隊(duì)列折線圖、交易費(fèi)用柱狀圖
區(qū)塊鏈信息:區(qū)塊數(shù)量和獎(jiǎng)勵(lì)柱狀圖、叔區(qū)塊數(shù)量和獎(jiǎng)勵(lì)柱狀圖、區(qū)塊平均大小柱狀圖、平均出塊時(shí)間柱狀圖、平均Gas價(jià)格柱狀圖、平均Gas限制柱狀圖、日總Gas消耗柱狀圖、日區(qū)塊獎(jiǎng)勵(lì)柱狀圖、Geth全節(jié)點(diǎn)同步數(shù)據(jù)總量增長柱狀圖、Geth輕節(jié)點(diǎn)同步數(shù)據(jù)總量增長柱狀圖
以太坊域名服務(wù)信息:域名注冊(cè)數(shù)量折線圖
挖礦信息:礦工出塊數(shù)量占比餅狀圖、礦工挖出叔區(qū)塊數(shù)量占比餅狀圖。 -
挖礦計(jì)算器:MISC一欄。
-
測(cè)試網(wǎng)絡(luò)查詢:Ropsten、Kovan、Rinkeby。
3、API
4、ENS域名查詢
二、ETHERQL
LevelDB擁有極佳寫入性能的進(jìn)程內(nèi)數(shù)據(jù)庫,具有處理大量數(shù)據(jù)的能力。
但是levelDB支持查詢接口極為有限,只能通過關(guān)鍵詞對(duì)相關(guān)記錄進(jìn)行簡(jiǎn)單檢索。查詢性能差。不能很好滿足區(qū)塊鏈數(shù)可視化或者分析查詢的需求。
針對(duì)此問題,EtherQL提出在區(qū)塊鏈數(shù)據(jù)層上構(gòu)建一層高效的查詢層來解決區(qū)塊鏈數(shù)據(jù)查詢效率的問題。他支持一系列常用的分析查詢操作,如分頁查詢和top-k查詢。
為了同步最新的區(qū)塊鏈數(shù)據(jù),EtherQL設(shè)置一個(gè)區(qū)塊鏈監(jiān)聽器來持續(xù)堅(jiān)挺最新的區(qū)塊數(shù)據(jù)變化,接收到區(qū)塊鏈數(shù)據(jù)后,區(qū)塊鏈監(jiān)聽器將放入緩存中,目的是解決區(qū)塊鏈網(wǎng)絡(luò)中的分叉問題。他將數(shù)據(jù)分為三種數(shù)據(jù)結(jié)構(gòu):區(qū)塊、交易與賬戶。
1、同步管理器
為了處理這種狀態(tài)不一致的問題且不降低系統(tǒng)的性能,同步管理器(Sync Manager)在區(qū)塊鏈數(shù)據(jù)進(jìn)行處理程序鏈之前先將其放入緩存中。因此,可以提前識(shí)別潛在的分叉情況,降低陷入分叉支鏈的機(jī)率。
2、處理程序鏈
分解和轉(zhuǎn)換原始的區(qū)塊鏈數(shù)據(jù)使得其可以存儲(chǔ)入關(guān)系型數(shù)據(jù)庫。以太坊更新Merkle樹來更新最新的狀態(tài),而處理程序鏈則是更新數(shù)據(jù)庫。不同之處在于,處理程序鏈會(huì)首先根據(jù)以太坊協(xié)議從交易執(zhí)行結(jié)果中提取相應(yīng)信息。
可將區(qū)塊鏈分為三種數(shù)據(jù)類型:區(qū)塊、交易、賬戶。對(duì)應(yīng)三種不同的處理程序:
- 將傳入的區(qū)塊鏈數(shù)據(jù)作為一個(gè)整體,保存區(qū)塊結(jié)構(gòu)的區(qū)塊處理器
- 跟蹤包括當(dāng)前區(qū)塊數(shù)據(jù)中的交易列表,并保存列表中的交易信息的交易處理器
- 更新賬戶狀態(tài)變化的賬戶處理器。
3、持久化框架
EtherQL設(shè)計(jì)的初衷是為區(qū)塊鏈構(gòu)建一個(gè)中間件以提供高效的查詢,因此,提供結(jié)構(gòu)化查詢支持的數(shù)據(jù)持久化框架(Persistance Framework)至關(guān)重要。
為了實(shí)現(xiàn)查詢操作的靈活性和可擴(kuò)展性,目前EtherQl底層使用了MongoDB。MongoDB是一個(gè)開源跨平臺(tái)的NoSQL數(shù)據(jù)庫,支持靈活的數(shù)據(jù)模式,并且可以方便的進(jìn)行擴(kuò)展。
數(shù)據(jù)持續(xù)化框架的中心是一組數(shù)據(jù)增刪查改模版。
4、開發(fā)者接口
EtherQL提供兩種類型的接口(Developer Interface),API和REST。API是查詢接口的本地實(shí)現(xiàn),REST提供RESTful服務(wù)的封裝。
API模塊公開4種類型的查詢接口:以太坊支持的基礎(chǔ)查詢、以太坊客戶端不支持的擴(kuò)展查詢、范圍查詢、top-k查詢。
EtherQL將所有API封裝成RESTful服務(wù)。文章來源:http://www.zghlxwxcb.cn/news/detail-792703.html
5、實(shí)現(xiàn)
文章來源地址http://www.zghlxwxcb.cn/news/detail-792703.html
到了這里,關(guān)于以太坊數(shù)據(jù)查詢與分析工具:以太坊瀏覽器Etherscan、ETHERQL的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!