fabric explorer安装部署
github项目及文档位置:https://github.com/hyperledger/blockchain-explorer
1.依赖说明
在安装和运行Hyperledger Explorer之前需要先满足以下依赖条件:
·Nodejs
·jq(安装:sudo pat install jq)
·PostgreSQL (安装:sudo apt-get install postgresql postgresql-client)
·基于linux系统,ubuntu或者MacOS
·docker
·docker-compoes
2.docker-compose 自动化部署
1)拉取docker的explorer和explorerdb镜像:
docker pull hyperledger/explorer
docker pull hyperledger/explorer-db
2)创建一个文件夹如fa-explorer/,使用wget指令拉取3个文件:
·config.json
·connection-profile/first-network.json
·docker-compose.yaml
$ wget https://raw.githubusercontent.com/hyperledger/blockchain-explorer/master/examples/net1/config.json
$ wget https://raw.githubusercontent.com/hyperledger/blockchain-explorer/master/examples/net1/connection-profile/first-network.json -P connection-profile
$ wget https://raw.githubusercontent.com/hyperledger/blockchain-explorer/master/docker-compose.yaml
3) 拷贝fabric网络下的organization文件夹到目录下,此时fa-explorer应该有这些文件:
·config.json
·connection-profile/first-network.json
·docker-compose.yaml
·organizations(此文件夹下应该有 ordererOrganizations/ 和 peerOrganizations/ )
4)修改docker-compose.yaml文件:
networks:
mynetwork.com:
external:
name: net_test#这里写网络名称,测试网络名称就是net_test
...
services:
explorer.mynetwork.com:
...
volumes:#这里写对应的3个文件映射,按照上面的配置,直接复制以下即可
- ./config.json:/opt/explorer/app/platform/fabric/config.json
- ./connection-profile:/opt/explorer/app/platform/fabric/connection-profile
- ./organizations:/tmp/crypto
- walletstore:/opt/wallet
注: name: net_test 这里的网络名称请使用:
docker netwok ls #查询fabric所在的网络。
使用以下代码查询节点到底在哪个网络上。
docker network inspect XXX(上条命令查出的网络名称)#查看详细的网络端口配置
3)如果Hyperledger Explorer是通过桥接网络连接到Fabric网络 的,你需要设置DISCOVERY_AS_LOCALHOST为false以便禁止将 主机名映射为localhost。
services:
...
explorer.mynetwork.com:
...
environment:
- DISCOVERY_AS_LOCALHOST=false
5)为adminPrivateKey配置选项提供完整的磁盘路径,它通常 以_sk
结尾。
"organizations": {
"Org1MSP": {
"adminPrivateKey": {
"path": "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/priv_sk"
注:这里的priv_sk文件名请在organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/下找,也是以_sk结尾,复制文件名替换priv_sk即可。
6)启动与停止
1.在启动Fabric网络后,运行如下命令启动Hyperledger Explorer和explorer-db服务
docker-compose up -d
然后在浏览器打开localhost:8080,输入浏览器管理员账户密码进行登录查看链信息。
2.运行如下命令停止服务但不删除持久化数据
docker-compose down
3.在docker-compose.yaml中,为持久化数据分配了两个命名卷(用于postgresql数据和用户钱包),运行以下命令清理这些数据:
docker-compose down -v
7)一些细节
1.在connection-profile/first-network.json添加网络组织,节点信息。
2.使用
docker logs -f XXX(docker中的explorer名称)
查看 浏览器 调试信息。
3.查询docker网络信息:
docker netwok ls #查询fabric所在的网络。
查询网络详细信息:
docker network inspect XXX(上条命令查出的网络名称)#查看详细的网络端口配置
4.在connection-profile/first-network.json设置浏览器管理员账户和密码,用于localhost:8080界面登录。
...
"adminCredential": {
"id": "exploreradmin",#这里是浏览器管理员
"password": "exploreradminpw",#这里设置密码
"affiliation": "org1.department1"
},
...