區塊鏈100講:Hyperledger Explorer簡介

image

上一篇咱們介紹了面向運維的Cello項目,能夠幫助運維快速部署與監控各個區塊鏈節點。今天咱們將介紹另外一個相似的項目 —— Hyperledger Explorer。前端

1

項目簡介

Hyperledger Explorer是一個區塊鏈的圖形化explorer,具備使用簡便,功能強大,易維護等特色。一樣也是Hyperledger衆多項目下的一個子項目,目前還處於孵化中。node

若是說Cello是一個面向於運維的圖形化工具,那麼Hyperledger Explorer就是一個面向於開發人員和普通用戶的一個圖形化工具,提供web界面,用戶能夠容易的看到區塊鏈上的活動,有點相似於以太坊項目中的 https://etherscan.io/git

2

環境依賴

因爲須要fabric, docker等一系列依賴,咱們依舊選用Ubuntu 16.04系統,主要依賴以下:github

軟件運行依賴:web

  • nodejs 8.11.x (Node 9.x暫不支持)sql

  • PostgreSQL 9.5 or greaterdocker

要工做在Hyperledger Fabric 1.1以上網絡中,須要運行如下依賴管理fabric網絡:數據庫

3

部署過程

克隆倉庫

使用如下命令克隆倉庫:

git clone https://github.com/hyperledger/blockchain-explorer.git

cd blockchain-explorer

目錄結構以下:

├── app              Application backend root

    ├── explorer     Explorer configuration, REST API

    ├── persistence  Persistence layer

    ├── platform     Platforms

        ├── fabric   Explorer API (Hyperledger Fabric)

    ├── test         Application backend test

├── client           Web UI

    ├── public       Assets

    ├── src          Front end source code

        ├── components      React framework

        ├── services        Request library for API calls

        ├── state       Redux framework

        ├── static          Custom and Assets

鏈接數據庫

Ubuntu系統使用如下命令鏈接數據庫:

sudo -u postgres psql

運行建立數據庫的腳本:

  • \i app/persistence/postgreSQL/db/explorerpg.sql

  • \i app/persistence/postgreSQL/db/updatepg.sql

設置Fabric網絡

按照Fabric教程Build your network或composer教程Build your network都可快速啓動一個Fabric網絡,相關介紹在以前的文章Linux環境下搭建Hyperledger Fabric 1.1開發環境和Linux環境下安裝和使用Hyperledger Composer都有過介紹。

啓動fabric網絡以後須要在app/platform/fabric/config.json作下適配,改成響應的區塊鏈網絡配置。

修改app/persistence/postgreSQL/db/pgconfig.json爲對應的數據庫配置。

若是你鏈接到一個非TLS的fabric節點,須要在peer url的配置中修改協議grpcs -> grpc和端口9051 -> 9050,而且移除掉選項tls_cacerts。經過這個關鍵配置,程序決定走TLS路由仍是非TLS路由。

4

構建Hyperledger Explorer

每次git pull以後都須要從新構建:

cd blockchain-explorer

npm install

cd blockchain-explorer/app/test

npm installnpm run testcd client/

npm install

npm test -- -u --coverage

npm run build

5

運行Hyperledger Explorer

cd blockchain-explorer
./start.sh  # 程序會後臺運行

./stop.sh  # 中止運行

運行以後,打開localhost:8080,應該看到相似於下面的界面

image

這樣Hyperledger Explorer的web界面就運行起來了。

使用Docker運行Hyperledger Explorer

Hyperledger Explorer一樣還支持使用Docker自動化部署。非交互式部署的默認配置以下:

  • 默認狀況下,部署腳本使用192.168.10.0/24虛擬網絡,而且沒有重疊ip(意味着你不能有其餘物理主機或docker容器運行在這個網絡中)。若是ip重疊了,必須編輯腳本,更改目標網絡和容器目標ip。

  • 默認狀況下兩個service(前臺和數據庫)會運行在同一臺機器上,可是腳本也容許修改運行在分開的機器上,只要在前端容器中編輯下目標DB IP就好。

  • Crypto material正確的配置在examples/$network/crypto

  • Fabric 網絡配置在examples/$network/config.json

使用Docker部署的步驟:

  • cd blockchain-explorer/

  • 在examples下建立一個新的目錄(好比叫dockerConfig)存儲你的ypberledger網絡配置(mkdir -p ./examples/dockerConfig)

  • 在examples/dockerConfig/config.json下保存你的hyperledger網絡配置。

  • 在examples/dockerConfig/crypto下保存你的證書配置。

  • 在上一級目錄運行explorer。

開啓新終端

  • cd blockchain-explorer/

  • ./deploy_explorer.sh dockerConfig (該腳本會使用存儲在examples/dockerConfig目錄下的配置自動部署數據庫和前端app)

Hyperledger Explorer Swagger

運行Hyperledger Explorer以後,在http://localhost:8080/api-docs能夠看到Rust API描述

Logs

  • ./logs/console能夠查看終端日誌,./logs/app 能夠查看應用日誌,./logs/db能夠查看數據庫日誌。

  • 全部日誌七天滾動

6

小結

Hyperledger Explorer項目目前還在孵化中,部署上看起來並不那麼正軌(並無標準化的包管理部署方式)。不過依舊能夠看出Hyperledger功能的強大,各方面幾乎並駕齊驅,沒有短板,而且在高速發展中。除了目前的應用確實少了些以外,基礎設施其實至關完善,從開發到運維,再到終端用戶幾乎都有對應的項目解決對應的問題,能夠看出Hyperledger的目標仍是挺遠大的。

拓展閱讀:區塊鏈100講:Hyperledger Cello簡介

本文做者:HiBlock區塊鏈技術佈道羣-馮宇Ops

原文發佈於簡書

加微信baobaotalk_com,加入技術佈道羣

如下是咱們的社區介紹,歡迎各類合做、交流、學習:)

image

相關文章
相關標籤/搜索