Hyperledger Explorer 安裝部署(pg版)

來源:互聯網
上載者:User

 IBM區塊鏈系列Hyperledger ,除了最核心的fabric網路外還出了一系列的工具和工程,這裡就記錄下區塊鏈瀏覽器的安裝部署,現在的版本是使用PostgreSQL資料庫來儲存資料(之前版本使用mysql)。
 瀏覽器使用Psql和nodejs開發,所以對java或golang小夥伴來說,肯定會碰一些釘子。(官方的安裝不是很詳細)
先上地址:

https://github.com/hyperledger/blockchain-explorer.git如果發現bug可以貢獻修複

1、依賴環境安裝

a) nodejs 8.11.x (Note that v9.x is not yet supported)b) PostgreSQL 9.5 or greaterc) Jq [https://stedolan.github.io/jq/]d) gite) gcc-c++

1)安裝git

yum install -y git查看版本:[root@fabric-test2 server]# git --versiongit version 1.8.3.1

2)nodejs安裝

a.下載wget https://nodejs.org/dist/v8.11.4/node-v8.11.4-linux-x64.tar.xzb.解壓tar -xvf node-v8.11.4-linux-x64.tar.xz c.連結ln -s /server/node-v8.11.4-linux-x64/bin/node /usr/local/bin/node  ln -s /server/node-v8.11.4-linux-x64/bin/npm /usr/local/bin/npmd.測試[root@fabric-test2 node-v8.11.4-linux-x64]# node -vv8.11.4[root@fabric-test2 node-v8.11.4-linux-x64]# npm -v5.6.0

3)PostgreSQL安裝

1.添加RPM    yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm2.安裝PostgreSQL 9.5    yum install postgresql95-server postgresql95-contrib3.初始化資料庫    /usr/pgsql-9.5/bin/postgresql95-setup initdb4.設定開機自啟動    systemctl enable postgresql-9.5.service5.啟動服務    systemctl start postgresql-9.5.servicePostgreSQL 安裝完成後,會建立一下‘postgres’使用者,用於執行PostgreSQL,資料庫中也會建立一個'postgres'使用者,預設密碼為自動產生,需要在系統中改一下。6.修改使用者密碼    su - postgres  切換使用者,執行後提示符會變為 '-bash-4.2$'    psql -U postgres 登入資料庫,執行後提示符變為 'postgres=#'    ALTER USER postgres WITH PASSWORD 'postgres';  設定postgres使用者密碼(!!!這個密碼要注意下不能包含@符號)    \q  退出資料庫7.開啟遠端存取    vi /var/lib/pgsql/9.5/data/postgresql.conf    修改#listen_addresses = 'localhost'  為  listen_addresses='*'    當然,此處‘*’也可以改為任何你想開放的伺服器IP8.信任遠端連線    vi /var/lib/pgsql/9.5/data/pg_hba.conf    修改如下內容,信任指定伺服器串連    # IPv4 local connections:    host    all            all      127.0.0.1/32      md5    增加    host    all             all      0.0.0.0/0          md59. 重啟PostgreSQL資料服務

4)安裝jq

jq的安裝需要epel源wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm -ivh epel-release-latest-7.noarch.rpmyum repolist 安裝:yum install jq -y

5)安裝gcc-c++

yum install -y gcc-c++編譯使用

依賴環境準備就緒,接下來是安裝了;

2、初始化配置
1)源碼下載

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

2)資料庫初始化

建立一個使用者:cd blockchain-explorer/app/persistence/postgreSQL修改執行模式chmod -R 775 db/修改pgconfig.json 檔案cd dbvi pgconfig.json 如下:{  "pg": {    "host": "127.0.0.1",    "port": "5432",    "database": "fabricexplorer",    "username": "postgres",    "passwd": "postgres"  }}其實這裡配置後還是需要輸入密碼,不過這個配置後續有用;執行指令碼:[root@fabric-test2 db]# ./createdb.sh 輸入資料庫密碼就好;

3)Fabric 網路搭建
這個之前有教程,不再介紹;

4)Fabric 網路設定

先講之前的配置備份cp blockchain-explorer/app/platform/fabric/config.json blockchain-explorer/app/platform/fabric/config.json.bk配置(以之前fabric分布式部署例子為基礎)vi blockchain-explorer/app/platform/fabric/config.json配置如下:{  "network-config": {    "org1": {      "name": "OrgCoreCompanyMSP",      "mspid": "OrgCoreCompanyMSP",      "peer1": {        "requests": "grpcs://10.0.200.114:7051",        "events": "grpcs://10.0.200.114:7053",        "server-hostname": "peer0.corecompany.lychee.com",        "tls_cacerts":          "/opt/gopath/src/github.com/hyperledger/fabric/lychees/bscf/crypto-config/peerOrganizations/corecompany.lychee.com/peers/peer0.corecompany.lychee.com/tls/ca.crt"      },      "admin": {        "key":          "/opt/gopath/src/github.com/hyperledger/fabric/lychees/bscf/crypto-config/peerOrganizations/corecompany.lychee.com/users/Admin@corecompany.lychee.com/msp/keystore",        "cert":          "/opt/gopath/src/github.com/hyperledger/fabric/lychees/bscf/crypto-config/peerOrganizations/corecompany.lychee.com/users/Admin@corecompany.lychee.com/msp/signcerts"      }     }    },  "channel": "bscfchannel",  "orderers": [    {      "mspid": "OrdererMSP",      "server-hostname": "orderer1.lychee.com",      "requests": "grpcs://10.0.200.111:7050",      "tls_cacerts":        "/opt/gopath/src/github.com/hyperledger/fabric/lychees/bscf/crypto-config/ordererOrganizations/lychee.com/orderers/orderer1.lychee.com/tls/ca.crt"    }  ],  "keyValueStore": "/tmp/fabric-client-kvs",  "configtxgenToolPath": "/opt/gopath/src/github.com/hyperledger/fabric/release/linux-amd64/bin/",  "SYNC_START_DATE_FORMAT": "YYYY/MM/DD",  "syncStartDate": "2018/01/01",  "eventWaitTime": "30000",  "license": "Apache-2.0",  "version": "1.1"}這裡要注意下:1、org1 可以隨意命名,跟fabric網路無關;2、可先添加一個節點做測試,等成功後再配置全部;3、org中的name、mspid等必需根網路設定的一致(fabric網路的configtx.yaml檔案);4、注意ip地址和grpcs/grpc;5、注意認證檔案路徑;6、keyValueStore 這個是client的存放位置,可暫時隨意配置個位置。

3、打包部署
這個熟悉前段開發的會比較順利,但是做java後端和golang的小夥伴可能需要折騰下;(其實就是一個工程打包,下載依賴,部署的過程)

cd blockchain-explorernpm installcd client/npm installnpm run build如果遇到 root沒許可權,則需要使用非安全模式,順便輸出下詳細日誌如下:cd blockchain-explorernpm install --unsafe-perm -dcd client/npm install --unsafe-perm -dnpm run build --unsafe-perm -d!!!注意,如果中間出錯,重新安裝時先要刪除node_modules檔案夾,client裡的也需要;

4、運行

cd blockchain-explorer./start.sh記錄檔:logs/app app日誌logs/console 作業記錄logs/db db日誌這幾個檔案裡面的日誌要結合看才能更好的解決問題;console成功日誌:Property config.syncStartDate set to  2018/01/01Please open web browser to access :http://127.0.0.1:8080/pid is 9641Successfully received the block event[object Object]

5、問題總結

1. make: g++: Command not foundyum install -y gcc-c++2. getBlockActivity undefined 找不到這個是npm install問題,刪除node_modules,重新安裝3.TypeError: Cannot read property 'forEach' of undefined這個是fabric網路未配置好,重新檢查下app/platform/fabric/config.json 網路設定4.server.on undefined 找不到這個是npm install問題,刪除node_modules,重新安裝5. TypeError: Cannot read property 'queryChannels' of undefined這個是fabric網路未配置好,重新檢查下app/platform/fabric/config.json 網路設定

6、效果如下:


image.pngimage.pngimage.pngimage.png
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.