Contents
html
区块链浏览器是hyperledger官方项目,可以可视化的查看区块链的详细信息,包括区块信息/详情,交易信息/详情,节点信息,链码信息等...本文介绍如何搭建区块链浏览器node
# 进入本身开发的目录(这里只是例子,能够改为本身想要的目录) $ cd /home/chy # 克隆仓库 $ git clone https://github.com/hyperledger/blockchain-explorer.git # 切换到合适的分支 $ git checkout reactbranch
# 拉取MySQL镜像,版本号>=5.7 $ docker pull MySQL:5.7 # 启动MySQL容器 # -v 挂载目录,将刚才克隆的目录挂载到docker容器下 # -p 将docker的3306端口映射到宿主机的33060端口 # -d 后台运行 $ docker run --name MySQL-Explorer -e MYSQL_ROOT_PASSWORD=password -v /home/chy/blockchain-explorer:/explore -p 33060:3306 -d mysql
# 进入容器终端 $ docker exec -it MySQL-Explorer bash # 导入数据库(用户名,密码,sql文件路径换成本身的) $ mysql -u<username> -p < db/fabricexplorer.sql
在项目目录中,有一个config.json
文件,这个文件规定了区块链网络各类参数mysql
这个config.json要根据本身建立网络之初的那些配置文件来写,必须彻底对应起来,才能跑通react
链接数据库的配置git
我所遇到的一个问题github
db/mysqlservice.js
中端口号默认是3306,因此没有连上个人容器$ npm install $ ./start.sh
访问本机的8080端口,最终结果如图web
仅供参考sql
{ "network-config": { "org1": { "name": "sy_org1", "mspid": "SyOrg1MSP", "peer1": { "requests": "grpcs://127.0.0.1:7051", "events": "grpcs://127.0.0.1:7053", "server-hostname": "peer0.org1.qklszzngsy.com", "tls_cacerts": "../MilkTrace/crypto-config/peerOrganizations/org1.qklszzngsy.com/peers/peer0.org1.qklszzngsy.com/tls/ca.crt" }, "peer2": { "requests": "grpcs://127.0.0.1:8051", "events": "grpcs://127.0.0.1:8053", "server-hostname": "peer1.org1.qklszzngsy.com", "tls_cacerts": "../MilkTrace/crypto-config/peerOrganizations/org1.qklszzngsy.com/peers/peer1.org1.qklszzngsy.com/tls/ca.crt" }, "peer3": { "requests": "grpcs://127.0.0.1:8054", "events": "grpcs://127.0.0.1:8056", "server-hostname": "peer2.org1.qklszzngsy.com", "tls_cacerts": "../MilkTrace/crypto-config/peerOrganizations/org1.qklszzngsy.com/peers/peer2.org1.qklszzngsy.com/tls/ca.crt" }, "admin": { "key": "../MilkTrace/crypto-config/peerOrganizations/org1.qklszzngsy.com/users/Admin@org1.qklszzngsy.com/msp/keystore", "cert": "../MilkTrace/crypto-config/peerOrganizations/org1.qklszzngsy.com/users/Admin@org1.qklszzngsy.com/msp/signcerts" } }, "org2": { "name": "sy_org2", "mspid": "SyOrg2MSP", "peer1": { "requests": "grpcs://127.0.0.1:9051", "events": "grpcs://127.0.0.1:9053", "server-hostname": "peer0.org2.qklszzngsy.com", "tls_cacerts": "../MilkTrace/crypto-config/peerOrganizations/org2.qklszzngsy.com/peers/peer0.org2.qklszzngsy.com/tls/ca.crt" }, "peer2": { "requests": "grpcs://127.0.0.1:10051", "events": "grpcs://127.0.0.1:10053", "server-hostname": "peer1.org2.qklszzngsy.com", "tls_cacerts": "../MilkTrace/crypto-config/peerOrganizations/org2.qklszzngsy.com/peers/peer1.org2.qklszzngsy.com/tls/ca.crt" }, "peer3": { "requests": "grpcs://127.0.0.1:10073", "events": "grpcs://127.0.0.1:10075", "server-hostname": "peer2.org2.qklszzngsy.com", "tls_cacerts": "../MilkTrace/crypto-config/peerOrganizations/org2.qklszzngsy.com/peers/peer2.org2.qklszzngsy.com/tls/ca.crt" }, "admin": { "key": "../MilkTrace/crypto-config/peerOrganizations/org2.qklszzngsy.com/users/Admin@org2.qklszzngsy.com/msp/keystore", "cert": "../MilkTrace/crypto-config/peerOrganizations/org2.qklszzngsy.com/users/Admin@org2.qklszzngsy.com/msp/signcerts" } }, "org3": { "name": "sy_org3", "mspid": "SyOrg3MSP", "peer1": { "requests": "grpcs://127.0.0.1:10054", "events": "grpcs://127.0.0.1:10066", "server-hostname": "peer0.org3.qklszzngsy.com", "tls_cacerts": "../MilkTrace/crypto-config/peerOrganizations/org3.qklszzngsy.com/peers/peer0.org3.qklszzngsy.com/tls/ca.crt" }, "peer2": { "requests": "grpcs://127.0.0.1:10067", "events": "grpcs://127.0.0.1:10069", "server-hostname": "peer1.org3.qklszzngsy.com", "tls_cacerts": "../MilkTrace/crypto-config/peerOrganizations/org3.qklszzngsy.com/peers/peer1.org3.qklszzngsy.com/tls/ca.crt" }, "peer3": { "requests": "grpcs://127.0.0.1:10070", "events": "grpcs://127.0.0.1:10072", "server-hostname": "peer2.org3.qklszzngsy.com", "tls_cacerts": "../MilkTrace/crypto-config/peerOrganizations/org3.qklszzngsy.com/peers/peer2.org3.qklszzngsy.com/tls/ca.crt" }, "admin": { "key": "../MilkTrace/crypto-config/peerOrganizations/org3.qklszzngsy.com/users/Admin@org3.qklszzngsy.com/msp/keystore", "cert": "../MilkTrace/crypto-config/peerOrganizations/org3.qklszzngsy.com/users/Admin@org3.qklszzngsy.com/msp/signcerts" } } }, "host":"localhost", "port":"8080", "channel": "mychannel", "GOPATH":"../artifacts", "keyValueStore":"/tmp/fabric-client-kvs", "eventWaitTime":"30000", "mysql":{ "host":"localhost", "port":"33060", "database":"fabricexplorer", "username":"root", "passwd":"password" } }