Fabric1.4 在自己项目中安装区块链浏览器blockchain-explorer
Posted 杰西啊杰西
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fabric1.4 在自己项目中安装区块链浏览器blockchain-explorer相关的知识,希望对你有一定的参考价值。
说在前面
由于项目时间不够了,所以这里直接安装现成的区块链浏览器,就不自己解析区块了,有时间再说
有两种使用方法,一种是采用docker镜像法,一种是本地安装数据库法,我使用的是docker镜像法
参考博客:https://www.freesion.com/article/58421254477/
上一篇:(四)Fabric1.4 Fabric-SDK-go及web应用
一、官方文档
官方文档yyds
https://github.com/hyperledger/blockchain-explorer
二、进入项目部署
1、在项目路径下新建文件夹explorer,查看好对应版本后下载这几个文件
$ wget https://raw.githubusercontent.com/hyperledger/blockchain-explorer/main/examples/net1/config.json
$ wget https://raw.githubusercontent.com/hyperledger/blockchain-explorer/main/examples/net1/connection-profile/test-network.json -P connection-profile
$ wget https://raw.githubusercontent.com/hyperledger/blockchain-explorer/main/docker-compose.yaml
2、由于需要区块链网络的那几个crypto文件,所以要不然copy,要不然建立软连接,这里我选择建立软连接(也就是建立快捷文件organizations)
ln -s /root/go/src/PerInfoChain/crypto-config organizations
3、添加.env文件,用来标识使用网络,docker网络可以使用命令docker network ls
查看
.env文件
NETWORK=perinfo_network
4、根据自己的网络修改docker-compose.yaml文件
# SPDX-License-Identifier: Apache-2.0
version: '2.1'
volumes:
pgdata:
walletstore:
networks:
perinfo.com:
external:
name: $NETWORK
services:
explorerdb.perinfo.com:
image: hyperledger/explorer-db:latest
container_name: explorerdb.perinfo.com
hostname: explorerdb.perinfo.com
environment:
- DATABASE_DATABASE=fabricexplorer
- DATABASE_USERNAME=hppoc
- DATABASE_PASSWORD=password
healthcheck:
test: "pg_isready -h localhost -p 5432 -q -U postgres"
interval: 30s
timeout: 10s
retries: 5
volumes:
- pgdata:/var/lib/postgresql/data
networks:
- perinfo.com
explorer.perinfo.com:
image: hyperledger/explorer:latest
container_name: explorer.perinfo.com
hostname: explorer.perinfo.com
environment:
- DATABASE_HOST=explorerdb.perinfo.com
- DATABASE_DATABASE=fabricexplorer
- DATABASE_USERNAME=hppoc
- DATABASE_PASSWD=password
- LOG_LEVEL_APP=debug
- LOG_LEVEL_DB=debug
- LOG_LEVEL_CONSOLE=info
- LOG_CONSOLE_STDOUT=true
- DISCOVERY_AS_LOCALHOST=false
#- DISCOVERY_AS_LOCALHOST=true
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
ports:
- 8080:8080
depends_on:
explorerdb.perinfo.com:
condition: service_healthy
networks:
- perinfo.com
extra_hosts: #添加单机地址映射(私网),不然启动时找不到地址
- "orderer.perinfo.com:172.20.43.188"
- "peer0.org1.perinfo.com:172.20.43.188"
- "peer0.org2.perinfo.com:172.20.43.188"
- "peer0.org3.perinfo.com:172.20.43.188"
- "peer0.org4.perinfo.com:172.20.43.188"
- "ca.org1.perinfo.com:172.20.43.188"
- "ca.org2.perinfo.com:172.20.43.188"
- "ca.org3.perinfo.com:172.20.43.188"
- "ca.org4.perinfo.com:172.20.43.188"
5、编写config.json文件
(证书我删了一部分,看看自己的)
{
"network-configs": {
"perinfo_network": {
"name": "perinfo_network",
"profile": "./connection-profile/connection.json"
}
},
"license": "Apache-2.0"
}
6、进入connection-profile
文件夹,复制一份test.network.json
文件,根据自己网络进行配置
{
"name": "perinfo_network",
"version": "1.0.0",
"client": {
"tlsEnable": true,
"caCredential": {
"id": "admin",
"password": "perinfo68"
},
"adminCredential": {
"id": "exploreradmin",
"password": "perinfo68"
},
"enableAuthentication": true,
"organization": "Org1MSP",
"connection": {
"timeout": {
"peer": {
"endorser": "300"
},
"orderer": "300"
}
}
},
"channels": {
"perinfo-channel": {
"peers": {
"peer0.org1.perinfo.com": {}
},
"connection": {
"timeout": {
"peer": {
"endorser": "6000",
"eventHub": "6000",
"eventReg": "6000"
}
}
}
}
},
"organizations": {
"Org1MSP": {
"mspid": "Org1MSP",
"adminPrivateKey": {
"path": "/tmp/crypto/peerOrganizations/org1.perinfo.com/users/Admin@org1.perinfo.com/msp/keystore/852200768328b80f1eb06934d00fae5b86678aa0f188ce0733d850c480d54308_sk"
},
"peers": ["peer0.org1.perinfo.com"],
"certificateAuthorities": ["ca-org1"],
"signedCert": {
"path": "/tmp/crypto/peerOrganizations/org1.perinfo.com/users/Admin@org1.perinfo.com/msp/signcerts/Admin@org1.perinfo.com-cert.pem"
}
},
"Org2MSP": {
"mspid": "Org2MSP",
"adminPrivateKey": {
"path": "/tmp/crypto/peerOrganizations/org2.perinfo.com/users/Admin@org2.perinfo.com/msp/keystore/0a41f9ad4a34d7f604f1e74b1283a3a09ae7f1135002499487dce2e844ae3d28_sk"
},
"peers": ["peer0.org2.perinfo.com"],
"certificateAuthorities": ["ca-org2"],
"signedCert": {
"path": "/tmp/crypto/peerOrganizations/org2.perinfo.com/users/Admin@org2.perinfo.com/msp/signcerts/Admin@org2.perinfo.com-cert.pem"
}
},
"Org3MSP": {
"mspid": "Org3MSP",
"adminPrivateKey": {
"path": "/tmp/crypto/peerOrganizations/org3.perinfo.com/users/Admin@org3.perinfo.com/msp/keystore/f74c115383c4360c69652d6a1196a35bc2f91d84d9082d4de456ce11e3e735ea_sk"
},
"peers": ["peer0.org3.perinfo.com"],
"certificateAuthorities": ["ca-org3"],
"signedCert": {
"path": "/tmp/crypto/peerOrganizations/org3.perinfo.com/users/Admin@org3.perinfo.com/msp/signcerts/Admin@org3.perinfo.com-cert.pem"
}
},
"Org4MSP": {
"mspid": "Org4MSP",
"adminPrivateKey": {
"path": "/tmp/crypto/peerOrganizations/org4.perinfo.com/users/Admin@org4.perinfo.com/msp/keystore/e2f986b66bf77cdabea4fd5e72a46c0646ef50dbef8a236e9864f2a7109b2144_sk"
},
"peers": ["peer0.org4.perinfo.com"],
"certificateAuthorities": ["ca-org4"],
"signedCert": {
"path": "/tmp/crypto/peerOrganizations/org4.perinfo.com/users/Admin@org4.perinfo.com/msp/signcerts/Admin@org4.perinfo.com-cert.pem"
}
}
},
"peers": {
"peer0.org1.perinfo.com": {
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org1.perinfo.com/peers/peer0.org1.perinfo.com/tls/ca.crt",
"pem": "-----BEGIN CERTIFICATE-----\\nMIICWDCCAf6gAwIBAgIRAOAfz3HS3UT20/LRS07ATXIwCgYIKoZIzj0EAwIwdjEL\\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\\ncmFuY2lzY28xGTAXBgNVBAoTEG9yZzEucGVyaW5mby5jb20xHzAdBgNVBAMTFnRs\\nc2NhLm9yZzEucGVyaW5mby5jb20wHhcNMjEwODExMTMyNzAwWhcNMzEwODA5MTMy\\nNzAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE\\nBxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5wZXJpbmZvLmNvbTEfMB0G\\nA1UEAxMWdGxzY2Eub3JnMS5wZXJpbmZvLmNvbTBZMBMGByqGgYIKoZIzj0E\\nAwIDSAAwRQIhAKuB+yF6CgIksETlBlvZBqcj83aX9c3owbqyi0kEC6jBAiAwrX88\\nClTqUhJf3PDFusjVbMhfyXWqkkp8gHX9059CPQ==\\n-----END CERTIFICATE-----\\n"
},
"url": "grpcs://peer0.org1.perinfo.com:7051",
"eventUrl": "grpcs://peer0.org1.perinfo.com:7053",
"grpcOptions": {
"ssl-target-name-override": "peer0.org1.perinfo.com"
}
},
"peer0.org2.perinfo.com": {
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org2.perinfo.com/peers/peer0.org2.perinfo.com/tls/ca.crt",
"pem": "-----BEGIN CERTIFICATE-----\\nMIICVzCCAf6gAwIBAgIRAKb+gdfgKw6iIMevIMkd56YwCgYIKoZIzj0EAwIwdjEL\\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\\ncmFuY2lzY28xGTAXBgNVBAoTEG9yZzIucGVyaW5mby5jb20xHzAdBgNVBAMTFnRs\\nc2NhLm9yZzIucGVyaW5mby5jb20wHhcNMjEwODExMTMyNzAwWhcNMzEwODA5MTMy\\nNzAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE\\nBxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UE+Juy4P9LyFyLKMbiDuO6kVbKoxnTDETQF1sigbnkwCgYIKoZIzj0E\\nAwIDRwAwRAIgWTHazKzW6MicpBLAg5D+XWRLX1PUZrMP/q1WeifDiAICIHdq2MMJ\\nY44QJ8bDmnvMZ6tUIxPrKRsXeRBNgNX/kG4v\\n-----END CERTIFICATE-----\\n"
},
"url": "grpcs://peer0.org2.perinfo.com:8051",
"eventUrl": "grpcs://peer0.org2.perinfo.com:8053",
"grpcOptions": {
"ssl-target-name-override": "peer0.org2.perinfo.com"
}
},
"peer0.org3.perinfo.com": {
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org3.perinfo.com/peers/peer0.org3.perinfo.com/tls/ca.crt",
"pem": "-----BEGIN CERTIFICATE-----\\nMIICVjCCAf2gAwIBAgIQI9D7Mo3txDa8Mj3J/P4h3DAKBggqhkjOPQQDAjB2MQsw\\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMy5wZXJpbmZvLmNvbTEfMB0GA1UEAxMWdGxz\\nY2Eub3JnMy5wZXJpbmZvLmNvbTAeFw0yMTA4MTExMzI3MDBaFw0zMTA4MDkxMzI3\\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmczLnBlcmluZm8uY29tMR8wHQYD\\nVQQDExZ0bHNjzbXYmif5p1wQRrOEAOnuqdqWIUI95FlELwGNjAKBggqhkjOPQQD\\nAgNHADBEAiAmY+3p5lSuVtaRRSrrRbQT5dyoxnHKYfelw/b/l15sgwIgeQuxOtOX\\niL/rBEqSDSTAi58nePSAPeDiz8cj2+UDDC0=\\n-----END CERTIFICATE-----\\n"
},
"url": "grpcs://peer0.org3.perinfo.com:9051",
"eventUrl": "grpcs://peer0.org3.perinfo.com:9053",
"grpcOptions": {
"ssl-target-name-override": "peer0.org3.perinfo.com"
}
},
"peer0.org4.perinfo.com": {
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org4.perinfo.com/peers/peer0.org4.perinfo.com/tls/ca.crt",
"pem": "-----BEGIN CERTIFICATE-----\\nMIICVzCCAf2gAwIBAgIQb/GbYQgpzga1aROLDijX/TAKBggqhkjOPQQDAjB2MQsw\\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\\nYW5jaXNjbzEZMBcGA1UEChMQb3JnNC5wZXJpbmZvLmNvbTEfMB0GA1UEAxMWdGxz\\nY2Eub3JnNC5wZXJpbmZvLmNvbTAeFw0yMTA4MTExMzI3MDBaFw0zMTA4MDkxMzI3\\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmc0LnBlcmluZm8uY29tMR8wHQYD\\nVQQDExZ0bHNjYS5vcmc0LnBlcmluZm8uY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D\\nAQcDQgAEoSNT5FRHwNRBvxa1DTAURYO08L+zKr1irPx3uPKK8lA8CIGopM6RB\\nfri5fsSrbN5RUSkpgpbfX4Oyhz69fMZGEO2N\\n-----END CERTIFICATE-----\\n"
},
"url": "grpcs://peer0.org4.perinfo.com:10051",
"eventUrl": "grpcs://peer0.org4.perinfo.com:10053",
"grpcOptions": {
"ssl-target-name-override": "peer0.org4.perinfo.com"
}
}
},
"certificateAuthorities": {
"ca-org1": {
"url": "https://ca.org1.perinfo.com:7054",
"caName": "ca-org1",
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org1.perinfo.com/ca/ca.org1.perinfo.com-cert.pem"
},
"httpOptions": {
"verify": false
}
},
"ca-org2": {
"url": "https://ca.org2.perinfo.com:8054",
"caName": "ca-org2",
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org2.perinfo.com/ca/ca.org2.perinfo.com-cert.pem"
},
"httpOptions": {
"verify": false
}
},
"ca-org3": {
"url": "https://ca.org3.perinfo.com:9054",
"caName": "ca-org3",
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org3.perinfo.com/ca/ca.org3.perinfo.com-cert.pem"
},
"httpOptions": {
"verify": false
}
},
"ca-org4": {
"url": "https://ca.org4.perinfo.com:10054",
"caName": "ca-org4",
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org4.perinfo.com/ca/ca.org4.perinfo.com-cert.pem"
},
"httpOptions": {
"verify": false
}
}
}
}
7、启动网络
docker-compose up
可以看到自己的网络信息了
8、另起终端关闭网络
docker-compose down
三、遇到的问题及解决方法
重新启动区块链浏览器时,会报channel已经存在的错误,这里清理docker环境即可
清理blockchain-explorer的docker环境:https://www.cnblogs.com/xwxz/p/14277840.html
以上是关于Fabric1.4 在自己项目中安装区块链浏览器blockchain-explorer的主要内容,如果未能解决你的问题,请参考以下文章