如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

0 評論 7668 瀏覽 14 收藏 11 分鐘

編輯導(dǎo)語:區(qū)塊鏈瀏覽器,是一種搜索工具,也是一個(gè)網(wǎng)站,專門為用戶提供瀏覽和查詢區(qū)塊鏈上信息。因?yàn)閰^(qū)塊鏈公開透明的特質(zhì),它需要一個(gè)媒介讓用戶看到鏈上的情況,區(qū)塊鏈瀏覽器就是這個(gè)媒介。在區(qū)塊鏈瀏覽器中,只需要輸入某筆交易的ID等等,即可查詢它們的詳細(xì)信息。今天,本文作者就分享了如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器。

最近在跟進(jìn)一個(gè)區(qū)塊鏈項(xiàng)目,其中涉及到了區(qū)塊鏈瀏覽器的部分,就調(diào)研整理了一下應(yīng)該如何設(shè)計(jì)一個(gè)區(qū)塊鏈瀏覽器。

一、什么是區(qū)塊鏈瀏覽器

在聊到這個(gè)項(xiàng)目需要做一個(gè)「區(qū)塊鏈瀏覽器」的時(shí)候,一個(gè)小哥很嚴(yán)肅的對我說:要搞一個(gè)瀏覽器?

其實(shí),區(qū)塊鏈瀏覽器和傳統(tǒng)的 IE、Firefox、Chrome、Safari 還是有點(diǎn)不同的,我更愿意將其定義為區(qū)塊鏈網(wǎng)絡(luò)上的數(shù)據(jù)可視化工具。

區(qū)塊鏈作為一種數(shù)據(jù)的存儲和處理方式,本身并不是以可視化的形式存在,通過可視化的方式來為方便用戶獲取區(qū)塊鏈上數(shù)據(jù)信息的一種工具,目前大多是以 web 形式存在。

用戶不需要了解區(qū)塊鏈的底層技術(shù),通過web頁面,直接在區(qū)塊鏈瀏覽器上查看該區(qū)塊鏈上的節(jié)點(diǎn)、區(qū)塊和交易信息,不需要通過接口查看日志的方式去查詢數(shù)據(jù)。

目前看來,區(qū)塊鏈瀏覽器是一個(gè)區(qū)塊鏈項(xiàng)目必不可少的基礎(chǔ)設(shè)施,一個(gè)產(chǎn)品經(jīng)理在設(shè)計(jì)完整的區(qū)塊鏈產(chǎn)品時(shí)必然不能繞過區(qū)塊鏈瀏覽器這一環(huán)。

二、區(qū)塊鏈瀏覽器都應(yīng)該包括什么

在這里,我們要首先明確一點(diǎn),不同區(qū)塊鏈項(xiàng)目的區(qū)塊鏈瀏覽器都不是完全一致的,一般都會根據(jù)區(qū)塊鏈底層技術(shù)選項(xiàng)和項(xiàng)目需求進(jìn)行調(diào)整,不過拋棄繁雜的表面,我們還是可以總結(jié)出一些核心要素的。

我主要調(diào)研了以下幾個(gè)區(qū)塊鏈瀏覽器:

  1. 以太坊上的Etherscan[1]
  2. HyperLedger Fabric Blockchain-Explorer (超級賬本的區(qū)塊鏈瀏覽器項(xiàng)目)[2]
  3. FISCO-BCOS[3]
  4. 螞蟻區(qū)塊鏈[4]
  5. 布比區(qū)塊鏈瀏覽器[5]

認(rèn)真分析下,它們都包含了以下元素:

1. 鏈概覽(Chain)信息

一般是這條區(qū)塊鏈的總體性概述,用以描述該區(qū)塊鏈的整體運(yùn)行結(jié)構(gòu),一般包括當(dāng)前的當(dāng)前區(qū)塊高度、交易總量、節(jié)點(diǎn)概況、最新(若干條)的出塊信息、最新(若干條)的交易信息等。

一般都在首頁展示,放上幾個(gè)比較有代表性區(qū)塊鏈瀏覽器首頁截圖:

以太坊上的 Etherscan:

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

HyperLedger Fabric Blockchain-Explorer:

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

FISCO-BCOS 瀏覽器:

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

布比區(qū)塊鏈瀏覽器:

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

2. 區(qū)塊(Block)信息

區(qū)塊鏈?zhǔn)怯梢粋€(gè)個(gè)區(qū)塊組成的,區(qū)塊類似于 MySQL 中的記錄,每次向鏈上寫入數(shù)據(jù),就是在創(chuàng)建一個(gè)區(qū)塊。

區(qū)塊信息的展示是根據(jù)區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)決定的,不同的區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)都是不同的,不過一般都可以分為區(qū)塊頭(Head)以及區(qū)塊體(Body)。

  • 區(qū)塊頭一般包含當(dāng)前區(qū)塊的特征值,比如生成時(shí)間、實(shí)際數(shù)據(jù)(即區(qū)塊體)的哈希、上一個(gè)區(qū)塊的哈希等等;
  • 區(qū)塊體一般包含本區(qū)塊所包含的實(shí)際交易信息。這里要注意的是受限制與區(qū)塊鏈處理能力,一般交易會定期打包上鏈,而不是每一條交易都上鏈。

在區(qū)塊鏈瀏覽器中,區(qū)塊信息展示一般包括區(qū)塊列表和單一區(qū)塊的詳情。

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

via:布比區(qū)塊鏈瀏覽器的區(qū)塊信息

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

via:Etherscan 瀏覽器的區(qū)塊信息

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器via:阿里云 Baas 平臺 HyperLedger Fabric 瀏覽器的區(qū)塊信息

3. 交易(Transaction)信息

在區(qū)塊鏈里,Transaction 代表的交易,單指的是轉(zhuǎn)賬交易。主要包含交易時(shí)間、所屬區(qū)塊、交易狀態(tài)、交易費(fèi)用、發(fā)起賬戶、目標(biāo)賬戶等信息,還有的會包括背書信息、鏈碼等。

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

via:布比區(qū)塊鏈瀏覽器的區(qū)塊信息

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

via:阿里云 Baas 平臺 HyperLedger Fabric 瀏覽器的區(qū)塊信息

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

via:FISCO-BCOS 瀏覽器

4. 智能合約(Contract)信息

在具備圖靈完備的區(qū)塊鏈上,還有一種交易——基于智能合約(Contract)的交易,本質(zhì)上是一種特殊的交易,但是其內(nèi)容要比交易(Transaction)復(fù)雜的多。

合約信息的展示主要包括合約的名字、合約所用語言的版本以及代碼內(nèi)容等。不過就我調(diào)研的結(jié)果來看,這幾個(gè)區(qū)塊鏈瀏覽器上除了 Etherscan 外都沒有公開該信息。

以 Etherscan 上的穩(wěn)定幣 USDT(炒過幣的小伙伴一定都知道這個(gè)號稱「和美元掛鉤」的穩(wěn)定幣項(xiàng)目,它就是運(yùn)行在以太坊上基于智能合約實(shí)現(xiàn)的 ERC20 Token 之一,還有當(dāng)年的 EOS ,別說了都是淚……)

我們進(jìn)入 USDT 項(xiàng)目的頁面,會看到 Profile Summary 下有一個(gè) Contract。

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

點(diǎn)擊進(jìn)入,就能看到本 Contract 的一些信息,其中還包括了 USDT 項(xiàng)目使用 Solidity 語言編寫的智能合約版本、源碼、該合約的 ABI[6]等信息。

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

5. 地址(Address)信息

Address 的存在主要是給用戶和普通互聯(lián)網(wǎng)產(chǎn)品類似的「賬戶」體驗(yàn),通過匯集該地址/賬戶項(xiàng)下的所有交易進(jìn)行展示,一般包括基本信息和交易信息。

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

via:布比區(qū)塊鏈瀏覽器的區(qū)塊信息

如何設(shè)計(jì)一個(gè)完備的區(qū)塊鏈瀏覽器

via:Etherscan 瀏覽器的區(qū)塊信息

區(qū)塊鏈瀏覽器的基本架構(gòu)基本就介紹完了,不過在實(shí)際設(shè)計(jì)中還需要我們根據(jù)自身需求做出取舍、或根據(jù)區(qū)塊鏈數(shù)據(jù)進(jìn)行衍生加工和挖掘。

瀏覽器是給人來用的,不是把所有的數(shù)據(jù)無規(guī)則的堆積上去、內(nèi)容越多越好,而是能夠最快且盡量完整的給到使用者想找的信息才是產(chǎn)品設(shè)計(jì)的目標(biāo)。

References:

[1]以太坊上的Etherscan: https://etherscan.io/

[2]HyperLedger Fabric Blockchain-Explorer (超級賬本的區(qū)塊鏈瀏覽器項(xiàng)目): https://github.com/hyperledger/blockchain-explorer

[3]FISCO-BCOS: https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/browser/browser.html

[4]螞蟻區(qū)塊鏈: https://antchain.antgroup.com/

[5]布比區(qū)塊鏈瀏覽器: https://explorer.bubi.cn/

[6]ABI: 全稱 Application Binary Interface,字面意思是應(yīng)用程序二進(jìn)制接口,可以通俗的理解為合約的接口說明,當(dāng)合約被編譯后,它對應(yīng)的abi也就確定了。ABI有點(diǎn)類似于程序中的接口文檔,描述了字段名稱、字段類型、方法名稱、參數(shù)名稱、參數(shù)類型、方法返回值類型等

#專欄作家#

張小璋,公眾號:張小璋碎碎念(ID:SylvainZhang),人人都是產(chǎn)品經(jīng)理專欄作家。野蠻生長的產(chǎn)品經(jīng)理,專注于互聯(lián)網(wǎng)金融領(lǐng)域。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自 Unsplash,基于 CC0 協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!