以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 區塊鏈 > Info

LOC:打開區塊鏈瀏覽器 數據超好查

Author:

Time:1900/1/1 0:00:00

前言

隨著區塊鏈技術的不斷發展和應用落地,大眾逐步加深了對區塊鏈技術的認識。我們都知道,區塊鏈具有可追溯、不可篡改等技術特點,那么鏈上的數據如何查詢、溯源呢?這就是我們今天要分享的主角—區塊鏈瀏覽器。

區塊鏈瀏覽器:是鏈上數據可視化的主要窗口,是提供用戶瀏覽與查詢區塊鏈所有信息的工具。借助這一窗口,如區塊信息、交易信息、賬戶信息等重要的加密數據得以直觀呈現。因此,區塊鏈瀏覽器對于區塊鏈使用者而言至關重要。以目前國外開源區塊鏈項目以太坊為例,其社區開源瀏覽器Etherscan承載大量用戶流量,是分析鏈上行為最便捷的工具。

本文將從區塊鏈瀏覽器研發實操經驗切入,與大家交流如何快速構建一個區塊鏈瀏覽器。

瀏覽器可以呈現什么?

通過分析一些開源瀏覽器,我們總結出區塊鏈瀏覽器展示的典型區塊鏈信息如下幾類:

-區塊高度

-交易數

-交易趨勢

-區塊列表

-最近交易列表等

瀏覽器數據可以直接獲取嗎?

通常,區塊鏈提供必要的鏈SDK信息,用以幫助開發者獲取鏈上區塊和交易數據,但是其提供的接口往往是基礎性的,例如如何獲取區塊高度、獲取某個區塊詳情、獲取某個交易詳情等,這些數據直接對應了頁面上的區塊列表、區塊詳情、交易詳情等基礎數據,無法直接通過鏈SDK獲取瀏覽器所需的的全量信息。

美聯儲7月加息25個基點概率為92.4%:7月6日消息,據CME美聯儲觀察,美聯儲7月加息25個基點至5.25%-5.50%區間的概率為92.4%,暫停加息的概率為7.6%。美聯儲將于7月27日凌晨2:00公布7月利率決議,隨后美聯儲主席鮑威爾將召開貨幣政策新聞發布會。[2023/7/6 22:22:04]

為此,一個好的區塊瀏覽器是需要支持在本地進行鏈上數據的加工與處理。

首先,通過對不同區塊鏈底層的區塊和交易數據等進行監聽,當鏈上產生新區塊時,監聽系統可通過鏈SDK第一時間獲取該區塊的信息;隨后,系統將相關數據進行緩存入庫,按需設計多種統計邏輯以完成數據的加工統計。因此,區塊鏈瀏覽器頁面上的數據并非直接通過鏈上SDK直接請求獲取,而是源于本地的列表數據和統計數據。

較于通用的直接通過鏈SDK獲取的模式,我們更需要的是一個通過本地緩存區塊數據并且加工鏈上數據的方式來顯著提升前端對區塊鏈瀏覽器數據獲取速度,但對于這一方案讀者可能會產生兩個質疑:

組件是定時獲取鏈上SDK數據的,那就意味著本地數據與鏈上數據存在時差,這會影響使用體驗么?

由于不是鏈上直接獲取,那如何保障本地緩存內的數據真實有效性呢?

針對質疑一,顯然這個時差主要源于本地定時獲取鏈上數據的頻率,因此通過控制頻率范圍在合理范圍內,就可以實現極短的延時,基本不會影響用戶使用瀏覽器的性能體驗。而針對質疑二是本方案中研發設計人員需要重點關注并解決的。

路透社:Binance被指控將客戶資金與公司收入混合使用,但沒有發現客戶資金丟失或被盜:金色財經報道,據路透社周二報道,三名未具名消息人士稱,加密貨幣交易所Binance被指控違反美國金融法規,將客戶資金與自己的公司收入混合使用。據報道,這一違規行為發生在 2020 年和 2021 年。?該消息人士稱,Binance在Silvergate Bank的賬戶中幾乎每天都發生混合交易,Silvergate Bank 是一家專注于加密貨幣的銀行,在 3 月份崩盤后關閉了業務。

路透社補充稱,它沒有發現Binance客戶資金丟失或被盜的證據。

對此,Binance的首席傳播官Patrick Hillmann對該報道進行了抨擊,我們已經多次解決這個問題。我們將我們的用戶和公司資金保存在完全獨立的分類賬上。[2023/5/24 15:21:35]

如何保障數據真實有效?

實際上,為了確保數據瀏覽器數據的真實性,區塊瀏覽器需要增加數據校驗模塊,即用戶可以通過簡單的接口調用與區塊鏈進行交互,快速驗證數據的真實性。例如,上述校驗模塊中接口主要包括如下功能:

??區塊證明:用于證明特定區塊是否在區塊鏈的賬本數據中存在;

??交易證明:用于證明特定交易或者交易執行結果是否在區塊鏈賬本數據中存在;

??賬戶證明:用于證明特定賬戶數據是否在區塊鏈賬本數據中存在;

因此通過上述分解,我們可以將整個瀏覽器的數據獲取、加工、校驗的流程理解如下:

Magic Eden宣布為Ordinals推出Launchpad:金色財經報道,NFT 平臺 Magic Eden 將為 Ordinals 推出一個創作者 Launchpad,幫助創作者成功地刻上他們基于比特幣的 NFT 收藏,第一次 Ordinals 發售將于 2023 年 4 月 7 日發布。[2023/4/7 13:49:05]

區塊鏈瀏覽器設計實操

前面已初步介紹了區塊鏈瀏覽器的設計思路以及整體運作流程。下面我們以趣鏈BaaS區塊鏈瀏覽器為例,詳細介紹該區塊瀏覽器的具體設計,如何實現不同區塊鏈的區塊及交易數據采集和存儲。如下所示,整個自研瀏覽器組件整體架構如下:

自研瀏覽器組件架構圖

為便于大家理解,我們首先對架構圖中的各模塊功能進行簡單描述:

???數據公共處理層:負責數據存儲優化等功能,將在下一篇推文中著重介紹相關的功能設計;

???采集適配層:負責不同區塊鏈數據的采集適配;

???定時服務:負責定時觸發采集和統計邏輯,采集器主要通過趣鏈BaaS的自研鏈驅動功能實現與不同的區塊鏈底層進行交互并且獲取最新的區塊和交易數據。其中:

???■采集模塊:負責定時主動觸發采集邏輯,包括數據處理等功能;

????■統計模塊:

??????1)統計模塊也是定時服務,定時判斷是否有新數據入庫;

三星在Decentraland中推出“House of Sam”元宇宙體驗:金色財經報道,三星拉美地區的公司將在Decentraland中建立一個名為“House of Sam”的空間,它將允許用戶與該品牌的不同產品進行虛擬接觸,并通過玩小游戲來為他們的化身贏得三星品牌的獎勵。

三星拉美地區的營銷總監Arthur Wong說:“我們的客戶將能夠相互交流,并參與我們在Decentraland免費提供的獨家演出、課程和活動,這是元宇宙中最民主和開放的空間之一。我們的目標是越來越接近Z世代,即我們的年輕消費者。”(Bitcoin.com)[2022/10/4 18:39:18]

??????2)若產生新數據則會觸發統計邏輯,如區塊數、交易數、合約數、合約調用數等指標統計;

??????3)統計數據將直接入庫或者更新已有數據;

現在有了這些介紹,我們就可以將目光聚焦在趣鏈自研瀏覽器組件是如何在一個服務里面獲取不同區塊鏈的數據。首先,我們對其設計了一個抽象采集層,在具體調用時只需傳入趣鏈BaaS自研的鏈驅動即可。

例如,以下示例展示了如何獲取最新區塊接口:

//?Collector?collector?definitiontype?Collector?interface?{??//?GetLatestBlock?獲取最新的區塊??GetLatestBlock()?(*Block,?error。

BCA Gallery將與BANK畫廊聯合展出孫一鈿NFT作品起飛Take Off:5月20日消息,BCA Gallery 宣布將與 BANK 畫廊共同在香港 Art Basel 展出孫一鈿 NFT 作品起飛 Take Off,展期 5 月 25 日至 29 日。此次 NFT 作品由藝術家與 BCA Labs 共同打造,采用貓頭鷹形象的原生畫作模型,基于以太坊 ERC-1155 合約,限量發行 524 版并于 5 月 24 日正式上線。

黑白貓頭鷹在某一個時刻互相轉換,關于身份的隱喻也由此展開。一切的物象都在光中被可見,在暗中被觀察,靜態的、動態的、多層的、虛構的、人造的,通過數據動作的綁定,貓頭鷹哲學性思辨的過程也會隨著藝術家的算法,筑成新的意識形態生成一段唯一性的故事永久存證于鏈上。[2022/5/20 3:30:21]

隨后,通過如何實現趣鏈區塊鏈平臺的區塊數據采集代碼來實際演示如何運作,

*自建項目`hpc`,創建目錄

*進入hpc目錄

cd?hpcgo?mod?init?hpctouch?main.go

*成功目錄結構如下

.├──?go.mod└──?main.go

*go.mod引入依賴

module?hpc?go?1.17?require?(????git.hyperchain.cn/blocface/chainsdk?v0.0.1)

*main.go編輯,可關注代碼注釋的補充描述:首先,將自定義實現接口Collector的對象注冊進執行器,引入采集器執行器,執行即可;

*注意:若鏈上沒有區塊,此方法返回&bs.Block{},nil,各種不同的區塊鏈可通過自定義實現方式來達到采集效果;

package?main?import?(????bs?"git.hyperchain.cn/blocface/chainsdk/pkg/collect/base"??????"git.hyperchain.cn/blocface/chainsdk/pkg/collect/collectinter")?func?main()?{????err?:=?collectinter.Register(mockImp{})????if?err?!=?nil?{????????panic(err)????}????collectinter.Execute(。?type?mockImp?struct?{}??func?(m?mockImp)?GetLatestBlock()?(*bs.Block,?error)?{????panic("自定義實現獲取最新區塊"。

*工具包中提供信息對象,如提供節點或者鏈的相關信息

type?Base?struct?{????node?string?????Node?struct?{????????Name?????????????string?????????Type?????????????string?????????Host?????????????string????????Ports????????????string?????????UniqueName???????string?????}??????????????????????????Channel????????string??}

*編譯打包(平臺GOOS=linux架構GOARCH=amd64)

??GOOS=linux?GOARCH=amd64?go?build?-ldflags="-w?-s"?-gcflags="all=-N?-l"?-o?hpc?.

通過上述步驟,我們實現了趣鏈區塊鏈平臺的區塊數據采集,隨后,我們只需在趣鏈自研瀏覽器組件中調用引入相關的客戶端包,根據驅動二進制的路徑新建客戶端即可。

//NewChainClientnewchainclientfuncNewChainClient(tool,channel,cfgRootPathstring,nodebase.Node,opts...ClientOpt)(*ChainClient,error){?abs,err:=filepath.Abs(tool)?iferr!=nil{??returnnil,errors.Wrap(err,"getabsolutepath")?}?marshal,err:=json.Marshal(node)?iferr!=nil{??returnnil,errors.Wrap(err,"marshalnode")?}?c:=&ChainClient{??tool:?????abs,??node:?????string(marshal),??channel:????channel,??configRootPath:cfgRootPath,??timeout:????10*time.Second,?}?for_,opt:=rangeopts{??opt(c)?}?returnc,nil}

調用邏輯獲取最新區塊示例

func?(c?ChainClient)?GetLatestBlock()?(*base.Block,?error)?{??command?:=?fmt.Sprintf("%s?-p?'%s'??-m?GetLatestBlock?",?c.tool,?c.configRootPath)??out,?err?:=?util.NewDefaultCMD(command,?string{},?util.WithTimeout(int(c.timeout.Seconds())),?util.WithForceKill(true),?util.WithErrPrint(false)).Run()??if?err?!=?nil?{????return?nil,?errors.Wrap(err,?"call?GetLatestBlock")??}??out?=?strings.TrimSuffix(out,?"n")??var?b?=?base.Block{}??err?=?deocde(byte(out),?&b)??if?err?!=?nil?{????return?nil,?errors.Wrapf(err,?"decode?resp?",?out)??}??return?&b,?nil}

以下是趣鏈BaaS的區塊鏈瀏覽器前端頁面,只需調取內部接口就可以直接從數據庫中獲取所需的信息,我們從區塊、交易、合約、賬戶等多個維度為用戶提供直觀的鏈上數據呈現,便于用戶更好的洞悉鏈上業務運行全貌。

總結

趣鏈自研瀏覽器組件通過上述模式實現無差異化的調用邏輯,達到對不同區塊鏈底層數據的統一支持,并充分預留了新區塊鏈底層的靈活擴展性。通過上述核心功能模塊設計,基本實現了區塊鏈瀏覽器的最小化產品MVP。

當然,實際在搭建區塊鏈瀏覽器時,還有很多挑戰,最典型的挑戰之一就是如何應對大數據量,相信細心的讀者已經看到前面的架構介紹中提到了數據公共處理層,這一模塊主要就是進行數據存儲相關的優化,保證數據存儲不會隨時間的增加而不斷增加,充分減輕服務器存儲部分的壓力,我們將在后續推文中著重介紹~

來源:金色財經

Tags:區塊鏈AINCHALOC以下哪項不是區塊鏈目前的分類digichain幣未來價值blockchain怎么注冊PDX Blockchain

區塊鏈
NFI:Play to Earn2.0 玩法 PokeMonFi震撼來襲

近年NFT的爆發,DeFi+GameFi+NFT模式的項目頻出,在市場發展的刺激下,新一代鏈游對于技術開發、游戲玩法、游戲設計等一系列要求也越來越高.

1900/1/1 0:00:00
PUN:我辭掉大廠月薪3萬的工作,當起了虛擬主播

一條千億賽道的殘酷物語。天下網商章航英 編輯?吳羚瑋 “我想放棄了。” 視頻中,SWP系著領帶、頂著一頭中長卷發。他第一次真人出鏡。過去一年,SWP都頂著一個“皮套”出現在觀看者寥寥的視頻里.

1900/1/1 0:00:00
LIQ:比特幣會在 2022 年剩余時間內留在熊市嗎?

比特幣在過去24小時內價格大幅下跌;其原因尚不清楚。山寨幣經歷了巨大的拋售壓力,導致前一天價格下跌超過10%。由于最近的價格下跌,比特幣失去了前一周的大部分收益.

1900/1/1 0:00:00
MEF:詳細梳理區塊鏈5大賽道正在演進的技術趨勢

說下近期各個板塊看到的正在發生的,以及未來6-12個月可能出現的趨勢整體會分為公鏈,DeFi(Dex,借貸,Stablecoin,合成資產等),NFT,GameFi.

1900/1/1 0:00:00
比特幣:比特幣交易需要多長時間?

就市值、吸引力和普遍受歡迎程度而言,比特幣(BTC)是迄今為止最大的區塊鏈之一。?它是最早解決在創建之前困擾數字貨幣的雙重支出問題的網絡之一,它通過利用工作量證明(PoW)作為共識機制來實現這一.

1900/1/1 0:00:00
ROC:非對稱降息,救地產還有哪些后手棋(東吳宏觀陶川)

今天央行進行了非對稱降息,疊加上周五多部委支持保交樓的專項借款政策,我們認為當前救地產正處于“一攬子政策”的出臺階段.

1900/1/1 0:00:00
ads