Fabric Explorer安装
使用Docker运行Hyperledger Explorer v2.0.0
1.准备
如果以下条件满足的话,可以利用docker自动部署Hyperledger Explorer:
安装了bash
在部署机器上安装有docker
在部署机器上安装有docker compose
2.文件准备
新建文件夹Explorer
并在文件夹下新建如图的文件
启动Fabric网络,然后输入如下命令,将秘钥文件拷贝到当前目录的organizations文件夹下;
cp -r ../fabric-samples/test-network/organizations/ .
在文件夹下存在如下文件:
docker-compose.yaml
config.json
connection-profile/test-network.json
organizations/ordererOrganizations/
organizations/peerOrganizations/
3.修改配置文件
docker-compose.yaml:
networks:
mynetwork.com:
external: true 此处由于是采用Fabric已经使用的网络,故设置成true
name: fabric_test 此处修改成Fabric启动的网络名称,如果不知道的话可以输入docker network ls查看网络名称
services:
explorer.mynetwork.com:
...
volumes: 此处修改的是镜像里面的文件映射本地文件的位置,改冒号前的地址即可
- ./config.json:/opt/explorer/app/platform/fabric/config.json
- ./connection-profile:/opt/explorer/app/platform/fabric/connection-profile
- ./organizations:/tmp/crypto
- walletstore:/opt/explorer/wallet
config.json:
有几个节点就增加几个节点,profile里的配置文件接下来要进行配置
{
"network-configs": {
"org1-network": {
"name": "org1 Network",
"profile": "./connection-profile/org1-network.json"
},
"org2-network": {
"name": "org2 Network",
"profile": "./connection-profile/org2-network.json"
}
},
"license": "Apache-2.0"
}
connection-profile/org1-network.json
这个文件是关键,
{
"name": "org1-network",
"version": "1.0.0",
"client": {
"tlsEnable": true,
"adminCredential": {
"id": "exploreradmin",
"password": "exploreradminpw"
},
"enableAuthentication": true,
"organization": "Org1MSP",
"connection": {
"timeout": {
"peer": {
"endorser": "300"
},
"orderer": "300"
}
}
},
"channels": {
"mychannel": {
"peers": {
"peer0.org1.example.com": {}
}
}
},
"organizations": {
"Org1MSP": {
"mspid": "Org1MSP",
"adminPrivateKey": {
"path": "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/670f046b34c5287604564c084c67eef89393960b5db7817bf8d29232115e9550_sk" 这里要改成你本地文件的名称
},
"peers": ["peer0.org1.example.com"],
"signedCert": {
"path": "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/cert.pem" 这里也要改成你本地文件的名称
}
}
},
"peers": {
"peer0.org1.example.com": {
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt"
},
"url": "grpcs://peer0.org1.example.com:7051"
}
}
}
connection-profile/org1-network.json:
记得端口改成9051,其他的同节点1
{
"name": "org2-network",
"version": "1.0.0",
"client": {
"tlsEnable": true,
"adminCredential": {
"id": "exploreradmin",
"password": "exploreradminpw"
},
"enableAuthentication": true,
"organization": "Org2MSP",
"connection": {
"timeout": {
"peer": {
"endorser": "300"
},
"orderer": "300"
}
}
},
"channels": {
"mychannel": {
"peers": {
"peer0.org2.example.com": {}
}
}
},
"organizations": {
"Org2MSP": {
"mspid": "Org2MSP",
"adminPrivateKey": {
"path": "/tmp/crypto/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/keystore/19d6bc92e13e4a54a4e69365175ab9aeb8ad638c79f7501496213f7500678b6f_sk"
},
"peers": ["peer0.org2.example.com"],
"signedCert": {
"path": "/tmp/crypto/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/signcerts/cert.pem"
}
}
},
"peers": {
"peer0.org2.example.com": {
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt"
},
"url": "grpcs://peer0.org2.example.com:9051"
}
}
}
4.启动docker
$ docker-compose up -d
可以登录http://127.0.0.1:8080看看是否成功:
如果启动失败
则docker ps查看explorer容器的编号
再用docker logs 编号,查看log日志,一般情况下,出现路径错误的话关闭容器
docker-compose down -v
修改文件后再重新启动。