推開區塊鏈世界的大門:玩轉區塊瀏覽器

隨著區塊鏈漸漸進入普通用戶視野,很多有趣的去中心化應用開始流行起來,比如下圖中去中心化交易所(Uniswap、pancakeSwap、JustSwap、DefiBox),還有基於多種玩法的 DeFi 協議等等。 很多

推開區塊鏈世界的大門:玩轉區塊瀏覽器

隨著區塊鏈漸漸進入普通用戶視野,很多有趣的去中心化應用開始流行起來,比如下圖中去中心化交易所(Uniswap、pancakeSwap、JustSwap、DefiBox),還有基於多種玩法的 DeFi 協議等等。

很多區塊鏈小白們可能費時費力學了半天區塊鏈,創建了錢包,從各種渠道買到了數字貨幣,開始在錢包中參與各種各樣五花八門的 DeFi 應用。那麼,錢花出去了有沒有被騙?是否根據正常流程參與了應用?這些都是普通非區塊鏈技術用戶們最關心的事情。因為不懂得如何確保自己數字貨幣流向的安全,或者自己參與業務的安全性,導致被騙的情況在區塊鏈世界里屢見不鮮。

本文從區塊鏈的顯示器——區塊瀏覽器來教大家玩轉當前主流應用型區塊鏈,基於區塊鏈瀏覽器中交易內容查看、交易關鍵數據格式、區塊鏈數據存儲等幾個模塊,由淺入深教大家學習區塊鏈,拒絕做「韭菜」,自我辨別項目風險性與交易安全性。

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 1 Uniswap - Ethereum 鏈

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 2 PancakeSwap - BSC 鏈

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 3 JustSwap – Tron 鏈

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 4 DefiBox – EOS 鏈

今天實驗室從幾大支持智能合約的區塊鏈平台的區塊鏈瀏覽器入手,帶大家馳騁區塊鏈的海洋。按照智能合約編寫語言分類,本期主要講解支持?Solidity 語言智能合約(以太坊系)與?C++語言智能合約(柚子 EOS)的區塊鏈瀏覽器。

以太坊系區塊瀏覽器

以太坊系主要分為以下幾條區塊鏈,首先是 Ethereum (以太坊),其次是以其為基準進行獨自運營發展的幾條公鏈,分別是 Tron (波場)、BSC (幣安智能鏈)、HECO (火幣生態鏈)以及 OKEXChain (OKEX 公鏈)。作為以太坊系,這幾家區塊鏈項目的瀏覽器產品又細分為三種不同的框架。

Etherscan、BscScan、HecoInfo

以太坊瀏覽器團隊開發的這三個區塊瀏覽器,在框架、數據顯示、功能等方面都近乎一致,詳細的使用方法後續會統一講解。

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 5 Etherscan 瀏覽器主頁

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 6 BscScan 瀏覽器主頁

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 7 HecoInfo 瀏覽器主頁

TRONSCAN 波場瀏覽器

波場瀏覽器結合其自身賬戶模型特點以及與以太坊的區別,在框架上與前三個有少許差別,但在功能使用、數據存儲以及編碼等方面還是存在一些共通性。

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 8 TRONSCAN 瀏覽器主頁

OKT 瀏覽器

該瀏覽器主要與其他多個區塊鏈項目瀏覽器被統一整合在一個平台,主要用於區塊數據查詢,但其他智能合約讀寫功能與數據也相應可以實現。

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 9 OKT 瀏覽器主頁

去中心化金融應用(DeFi)中有一些常見的交易類別,以及在區塊瀏覽器中有不同交易信息查詢入口,通過這些信息來對應到不同的區塊瀏覽器進行信息匹配查找,確認交易內容是否與 Dapp 前端進行的內容一致(避免前端業務作惡或錯誤導致數字貨幣資產丟失)。

1、數字貨幣轉賬

幾乎所有的 DeFi 協議核心內容均涉及數字貨幣轉賬,通過數字貨幣兌換、鎖定、抵押等不同形式的操作來為項目方或者用戶帶來數字貨幣收益。

當用戶在 DeFi 協議前端執行了需要支出數字貨幣的操作后,在對應的代幣合約中會執行 approve 函數 與 transferFrom 函數,此時打開區塊瀏覽器根據錢包提示的交易 hash (絕對主鍵,每一筆交易的唯一對應查詢 key)、個人錢包地址(對應多個相關地址交易)、交易事件(對應多個相同交易類型)等查找對應交易。

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 10 defi 交易類型查詢示例

此處要注意,瀏覽器頁簽不同,對應查詢頁面的內容結構也是完全不同的,圖 10 中顯示的區塊鏈數據為所有涉及 UNI 代幣 的交易,所以交易調用函數多種多樣。

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 11 以代幣為基準的數據查詢鏈接

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 12 以合約地址為基準的查詢頁面

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 13 以合約地址為基準的數據查詢鏈接

2、交易匹配查詢

交易 method
根據以太坊虛擬機底層編碼,簡單來說,交易 method (即函數 selector,對應圖 10 當中的不同交易)為函數體的一個加密 hash 的前 4 位,如下所示:

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 14 交易 method 簽名方式

同一函數在以太坊系瀏覽器中的結果均是相同的,以 Etherscan 和 OKT 瀏覽器為例,如下所示:

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 15 swapExactTokensForTokens 函數 method (Etherscan 顯示)

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 16 swapExactTokensForTokens 函數 method (OKT 瀏覽器顯示)

通過在區塊瀏覽器中查詢指定交易可以比對與實際交易操作是否匹配。

交易事件

交易事件用於記錄指定函數調用日誌,在唯一調用函數中觸發一個或多個,用戶可以根據事件中記錄的內容來查詢有限的記錄數據是否正確以及與實際交易功能匹配(例如代幣流向是否實際轉入需要轉入的地址等等)。

與交易 method 一樣,事件編號(指 topic0,匿名事件 anonymous event 暫不說明)在 EVM (以太坊虛擬機)中也是以聲明結構進行加密簽名的,可以作為索引進行批量查找:

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 17 事件 topic0 簽名方式

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 18 批量查詢指定事件 event

如上圖所示,這種查找方式在現有區塊瀏覽器中只能查找到部分內容,全部數據需要同步對應區塊鏈全節點進行查找。

交易調用數據比對

最為完整的數據對比就是直接比較對應交易中的函數調用數據,文中以開源合約的對比進行講解,在開源合約中(圖 19),區塊瀏覽器自動將調用數據位元組碼進行對應序列化存儲與顯示,而在非開源合約中(圖 20),調用數據仍以 EVM 位元組碼 的形式顯示,不太適用於初學者進行比對,此處暫不詳解。

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 19 調用數據對比(開源合約)

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 20 調用數據對比(非開源合約)

以轉賬功能為例,可以通過區塊瀏覽器來對比數據一致性,很方便,以太坊系區塊瀏覽器提供了將數據解碼功能,可以更直觀的看到調用數據

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 21 轉賬數據對比(解碼前)

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 22 轉賬數據對比(解碼后)

以上功能在其他以太坊系區塊瀏覽器中同樣可以進行查找與對比,同樣的區塊瀏覽器還提供了很多其他功能,例如審計報告查詢等等。有資質的項目方一般會將審計報告在區塊瀏覽器上傳,用戶可以從根本判斷項目風險,拒絕做區塊鏈文盲,保證數字資產安全。關於以太坊系區塊瀏覽器還有很多其他的功能,例如反編譯位元組碼、轉賬交易列表等等可以更好的用於分析區塊鏈數據、數字貨幣流向。

柚子 EOS 區塊瀏覽器

其次,我們從柚子 EOS 鏈的幾個區塊瀏覽器產品對比來解釋不同區塊瀏覽器的用法。一般來說想要知道一筆轉賬什麼時候到賬,當前 EOS 的轉賬費用是多高,給你轉賬的地址到底有多土豪,都可以通過區塊鏈瀏覽器直接展現出來。當然,我們也可以查詢到區塊中包含的交易信息,以及區塊的高度、哈希值、發布時間和開採的礦工,部分區塊鏈瀏覽器還會顯示全網算力、算力難度以及其他的一些參考內容。

EOS 主流常用的區塊瀏覽器有 eosflare、eostracker、bloks.io 等,不同的瀏覽器在區塊鏈數據展示和查詢方面各有優點,後續展開為大家介紹。

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 23 eosflare 瀏覽器主頁

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 24 EOSTracker 瀏覽器主頁

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 25 bloks.io 瀏覽器主頁

由於 EOS 區塊鏈與以太坊的設計理念的不同,他的資源利用以及賬戶模型都與以太坊有著很大的區別,本文中僅針對不同 EOS 區塊瀏覽器在數據對比查詢方面的優劣性做一個說明。
以發行在 EOS 區塊鏈上的 USDT 合約(賬戶地址 tethertether)為例,進行一些數據查詢優劣性對比:

1、轉賬區塊信息概覽查詢

Eosflare 瀏覽器主要用於快速瀏覽整個 EOS 區塊鏈數據,查詢指定合約賬戶、區塊等數據,無法對應到具體合約存儲數據查詢等其他精細查詢,這一點需要用戶自行配合其他 EOS 區塊瀏覽器來查詢數據。

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 26 Eosflare 瀏覽器查詢頁面

2、詳細交易所在區塊屬性查詢

EOS Tracker 瀏覽器主要用來輔助查詢完整交易 id 以及其他一些交易對應區塊屬性,從而配合在其他區塊瀏覽器進行詳細查詢。

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 27 EOS Tracker 瀏覽器查詢頁面

3、智能合約表存儲查詢以及詳細交易查詢

Bloks.io 瀏覽器相對全面的查詢了指定智能合約賬戶的詳細交易信息和存儲信息,包括交易元數據、賬戶信息、資源消耗、不同存儲表的指定查詢等。結合另外兩個區塊瀏覽器和實際參與 Dapp 交易內容進行對比,確保交易內容正確。

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 28 Bloks.io 瀏覽器查詢詳細交易內容

推開區塊鏈世界的大門:玩轉區塊瀏覽器

圖 29 Bloks.io 瀏覽器查詢智能合約存儲表內容

區塊鏈世界在區塊瀏覽器上的展示與查詢,僅僅是這個世界有限數據查看對比的易中方式,但對於普通用戶鑒別五花八門智能合約交易安全與交易流向來說綽綽有餘。整個區塊鏈海洋中更深處的奧秘還需要通過搭建區塊鏈節點等方式來一一探究,關於智能合約應用層面的各種實用小 tips 今天就先說到這,下回繼續!

—-

編譯者/作者:Odaily星球日報

玩幣族申明:玩幣族作為開放的資訊翻譯/分享平台,所提供的所有資訊僅代表作者個人觀點,與玩幣族平台立場無關,且不構成任何投資理財建議。文章版權歸原作者所有。

0

發表迴響