在Hyperledger Explorer中運行區塊鏈應用
譯文【51CTO.com快譯】Hyperledger Explorer是一款功能強大的實用程序,讓用戶可以創建對用戶友好的基于Web的應用程序。它是一種區塊鏈儀表板,提供了查看、調用、部署和查詢原始區塊鏈數據和網絡信息的功能,包括存儲在賬本中的塊細節、鏈代碼和事務。
如果讀者不熟悉Hyperledger項目,強烈建議看一下《Hyperledger系列和Hyperledger區塊鏈生態系統簡介》與《Hyperledger設計理念和框架架構》這兩篇文章。
Hyperledger Explorer是一個高度維護的開源瀏覽器,可以直接在macOS和Ubuntu上配置和構建。截至本文發稿時,Hyperledger Explorer還沒有上線。最新版本v0.3.8支持Fabric v1.3。
到處碰到錯誤很常見,尤其是在與版本及/或架設環境有關的問題方面。為了節省調試時間,我為你可能遇到的一些錯誤加入了注釋和推薦的修復方法。
Hyperledger Explorer的配置
運行Hyperledger Explorer之前,我們應檢查Explorer的配置,配置在explorerconfig.json文件中予以定義。
根據項目的具體需求更新以下信息:
- 同步將在哪里運行,這可以是Exlporer(本地),也可以是另一個獨立位置(主機)
- 區塊鏈網絡的類型(Fabric)
- 區塊鏈數據與Explorer同步的頻次
運行Hyperledger Explorer應用程序
執行以下步驟以運行Hyperledger應用程序:
1.使用vi編輯器或你所選擇的編輯器,根據需要進行修改:
- cd blockchain-explorer/app
- vi explorerconfig.json
- # Here we will run local with Explorer, update the "sync" property as needed to # as below:
- "sync": {
- "type": "local",
- "platform": "fabric",
- "blocksSyncTime": "3"
- }
- }
2. 現在從另一個終端啟動Explorer。使用Explorer完畢后,應停止Explorer和節點服務器:
- cd blockchain-explorer/
- sudo ./start.sh
- # To stop Explorer, use this command:
- sudo ./stop.sh
3. 可以檢查日志文件:[logs/console/console-yyyy-mm-dd.log]中的錯誤狀態。如果一切情況良好,你會看到以下內容:
- postgres://hppoc:password@127.0.0.1:5432/fabricexplorer
- (node:14817) DeprecationWarning: grpc.load: Use the @grpc/proto-
- loader module with
- grpc.loadPackageDefinition instead
- Please open web browser to access: http://localhost:8080/
- pid is 14817
- postgres://hppoc:password@127.0.0.1:5432/fabricexplorer
- ...
4. 控制臺日志可能會顯示Explorer錯誤,比如以下:
- postgres://hppoc:password@127.0.0.1:5432/fabricexplorer <<<<<<<<<<<<<<<<<<<<<<<<<< Explorer Error >>>>>>>>>>>>>>>>>>>>>
- { Error: The gRPC binary module was not installed. This may be fixed by running "npm rebuild"
- Original error: Cannot find module '/home/ubuntu/blockchain-explorer/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-glibc/grpc_node.node'
- at Object. (/home/ubuntu/blockchain-explorer/node_modules/grpc/src/grpc_extension.js:43:17)
- at Module._compile (module.js:653:30)
- at Object.Module._extensions..js (module.js:664:10)
- at Module.load (module.js:566:32)
- at tryModuleLoad (module.js:506:12)
- at Function.Module._load (module.js:498:3)
- at Module.require (module.js:597:17)
- at require (internal/module.js:11:18)
- at Object. (/home/ubuntu/blockchain-explorer/node_modules/grpc/src /client_interceptors.js:145:12)
- at Module._compile (module.js:653:30) code: 'MODULE_NOT_FOUND' } Received kill signal, shutting down gracefullyClosed out connections
5. 只要運行npm重構、隨后再次啟動Explorer,就可以修復這個錯誤:
- cd ~/blockchain-explorer/
- npm rebuild
- > grpc@1.14.2 install /home/ubuntu/blockchain-explorer/node_modules/grpc
- > node-pre-gyp install --fallback-to-build --library=static_library
- ...
注意:有一個應用程序日志[logs/app/app.log],如果運行Explorer應用程序時遇到任何錯誤,它提供了比控制臺日志更詳細的信息。
6. 另一方面,Explorer start.sh在后臺運行。想觀察進度,可以針對app.log文件使用tail命令:
- tail -f logs/app/app.log
7. 現在我們可以從瀏覽器:http://localhost:8080啟動Explorer。
8. 如果你在AWS EC2上運行,需要執行另外兩步。把localhost換成你實例的公共IP地址,增添或修改與EC2實例有關的安全組,允許來自TCP端口8080的入站流量。如果一切正常,你應該會看到Explorer儀表板的默認頁面。此后,你可以瀏覽該應用程序,查看并監控各個區塊鏈數據:
現在你已成功構建了Hyperledger Explorer應用程序,將它與Hyperledger Fabric框架集成起來,并利用Explorer在瀏覽器上直觀地顯示區塊鏈網絡數據。
原文標題:Running Blockchain Applications in Hyperledger Explorer,作者:Matt Zand和Brian Wu
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】