Hyperledger Explorer 區(qū)塊鏈瀏覽器與已搭建fabric網(wǎng)絡(luò)結(jié)合

折騰了一下午,終于吧Hyperledger Explorer與現(xiàn)有的fabric網(wǎng)絡(luò)結(jié)合起來。其實也挺簡單,主要是踩了權(quán)限的坑。

Hyperledger Explorer介紹

hyperledger explorer主要是為Hyperledger的區(qū)塊鏈網(wǎng)絡(luò)搭建可視化的環(huán)境,可以通過瀏覽器查看網(wǎng)絡(luò)中的信息,包括網(wǎng)絡(luò)拓撲、區(qū)塊信息、鏈碼信息等等。 現(xiàn)在支持 fabric 和cello。
本文是在fabric v1.1版本以及explorer 3.5版本下的部署,操作系統(tǒng)為CentOS 7。
源碼地址:
https://github.com/hyperledger/blockchain-explorer
依賴:

部署過程

下載explorer代碼并切換到3.5版本

  • git clone https://github.com/hyperledger/blockchain-explorer.git.
  • git checkout -b release-3.5 origin/release-3.5

數(shù)據(jù)庫設(shè)置

  • cd blockchain-explorer.
  • cd blockchain-explorer/app/persistence/postgreSQL/db
  • 更改pgconfig.json文件,可以自己定義,后續(xù)腳本會生成對應(yīng)用戶
    "pg": {
                "host": "127.0.0.1",
                "port": "5432",
                "database": "fabricexplorer",
                "username": "hppoc",
                "passwd": "password"
        }
  • 更改腳本權(quán)限 chmod -R 775 ./*
  • 創(chuàng)建用戶 ./createdb.sh
  • 連接數(shù)據(jù)庫 sudo -u postgres psql

Fabric 網(wǎng)絡(luò)部署

根據(jù)已經(jīng)部署好的fabric網(wǎng)絡(luò)更改配置文件:
blockchain-explorer/app/platform/fabric/config.json

{
  "network-config": {
    "org1": {
      "name": "GylOrg1MSP",
      "mspid": "GylOrg1MSP",
      "peer1": {
        "requests": "grpcs://10.254.186.164:7051",
        "events": "grpcs://10.254.186.164:7053",
        "server-hostname": "peer0.org1.gyl.com",
        "tls_cacerts":
          "/home/dc2-user/kongli/gyl/certs/peerOrganizations/org1.gyl.com/peers/peer0.org1.gyl.com/tls/ca.crt"
      },
      "admin": {
        "key":
          "/home/dc2-user/kongli/gyl/certs/peerOrganizations/org1.gyl.com/users/Admin@org1.gyl.com/msp/keystore",
        "cert":
          "/home/dc2-user/kongli/gyl/certs/peerOrganizations/org1.gyl.com/users/Admin@org1.gyl.com/msp/signcerts"
      }
    },
      "org3": {
      "name": "GylOrg3MSP",
      "mspid": "GylOrg1MSP",
      "peer1": {
        "requests": "grpcs://10.254.207.154:7051",
        "events": "grpcs://10.254.207.154:7053",
        "server-hostname": "peer0.org3.gyl.com",
        "tls_cacerts":
          "/home/dc2-user/kongli/gyl/certs/peerOrganizations/org3.gyl.com/peers/peer0.org3.gyl.com/tls/ca.crt"
      },
      "admin": {
        "key":
          "/home/dc2-user/kongli/gyl/certs/peerOrganizations/org3.gyl.com/users/Admin@org3.gyl.com/msp/keystore",
        "cert":
          "/home/dc2-user/kongli/gyl/certs/peerOrganizations/org3.gyl.com/users/Admin@org3.gyl.com/msp/signcerts"
      }
    },
    "org2": {
      "name": "GylOrg2MSP",
      "mspid": "GylOrg2MSP",
      "peer1": {
        "requests": "grpcs://10.254.247.165:7051",
        "events": "grpcs://10.254.247.165:7053",
        "server-hostname": "peer0.org2.gyl.com",
        "tls_cacerts":
          "/home/dc2-user/kongli/gyl/certs/peerOrganizations/org2.gyl.com/peers/peer0.org2.gyl.com/tls/ca.crt"
      },
      "admin": {
        "key":
          "/home/dc2-user/kongli/gyl/certs/peerOrganizations/org2.gyl.com/users/Admin@org2.gyl.com/msp/keystore",
        "cert":
          "/home/dc2-user/kongli/gyl/certs/peerOrganizations/org2.gyl.com/users/Admin@org2.gyl.com/msp/signcerts"
      }
    }
  },
  "channel": "gylchannel",
  "orderers": [
    {
      "mspid": "OrdererMSP",
      "server-hostname": "orderer.gyl.com",
      "requests": "grpcs://10.254.186.164:7050",
      "tls_cacerts":
        "/home/dc2-user/kongli/gyl/certs/ordererOrganizations/gyl.com/orderers/orderer.gyl.com/tls/ca.crt"
    }
  ],
  "keyValueStore": "/tmp/fabric-client-kvs",
  "configtxgenToolPath": "/user/bin",
  "SYNC_START_DATE_FORMAT": "YYYY/MM/DD",
  "syncStartDate": "2018/11/01",
  "eventWaitTime": "30000",
  "license": "Apache-2.0",
  "version": "1.1"
}

構(gòu)建Hyperledger Explorer

  • cd blockchain-explorer
  • npm install
  • cd blockchain-explorer/app/test
  • npm install
  • npm run test
  • cd client/
  • npm install
  • npm test -- -u --coverage
  • npm run build

以上沒有錯誤證明搭建完成

運行 Hyperledger Explorer

  • cd blockchain-explorer/
  • ./start.sh (開啟后臺執(zhí)行).
  • http://localhost:8080 查看結(jié)果.
  • ./stop.sh (關(guān)閉).
  • logs 文件夾下可以查看日志

效果

在這里插入圖片描述

遇到的問題

  • locate: 無法執(zhí)行 stat () `/var/lib/mlocate/mlocate.db': 沒有那個文件或目錄
    由于locate沒裝導(dǎo)致或者沒啟動錯誤,sudo yum install mlocate 安裝且使用sudo updatedb執(zhí)行更新。
  • db error { error: Ident authentication failed for user "postgres"
    權(quán)限問題,需要吧blockchain-explorer下載在非當前用戶文件夾下,比如/tmp。
  • 執(zhí)行createdb.sh的時候報錯:could not change directory to "/home/dc2-user/kongli/blockchain-explorer/app/persistence/postgreSQL/db": 權(quán)限不夠
    原因同上。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容