上一篇咱們介紹了面向運維的Cello項目,能夠幫助運維快速部署與監控各個區塊鏈節點。今天咱們將介紹另外一個相似的項目 —— Hyperledger Explorer。前端
Hyperledger Explorer是一個區塊鏈的圖形化explorer,具備使用簡便,功能強大,易維護等特色。一樣也是Hyperledger衆多項目下的一個子項目,目前還處於孵化中。node
若是說Cello是一個面向於運維的圖形化工具,那麼Hyperledger Explorer就是一個面向於開發人員和普通用戶的一個圖形化工具,提供web界面,用戶能夠容易的看到區塊鏈上的活動,有點相似於以太坊項目中的 https://etherscan.io/git
因爲須要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網絡:數據庫
docker 17.06.2-ce [https://www.docker.com/community-edition]npm
docker-compose 1.14.0 [https://docs.docker.com/compose/]json
克隆倉庫
使用如下命令克隆倉庫:
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路由。
每次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
cd blockchain-explorer ./start.sh # 程序會後臺運行 ./stop.sh # 中止運行
運行以後,打開localhost:8080,應該看到相似於下面的界面
這樣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能夠查看數據庫日誌。
全部日誌七天滾動
Hyperledger Explorer項目目前還在孵化中,部署上看起來並不那麼正軌(並無標準化的包管理部署方式)。不過依舊能夠看出Hyperledger功能的強大,各方面幾乎並駕齊驅,沒有短板,而且在高速發展中。除了目前的應用確實少了些以外,基礎設施其實至關完善,從開發到運維,再到終端用戶幾乎都有對應的項目解決對應的問題,能夠看出Hyperledger的目標仍是挺遠大的。
拓展閱讀:區塊鏈100講:Hyperledger Cello簡介
本文做者:HiBlock區塊鏈技術佈道羣-馮宇Ops
原文發佈於簡書
加微信baobaotalk_com,加入技術佈道羣
如下是咱們的社區介紹,歡迎各類合做、交流、學習:)