在使用新的 v2 链代码生命周期时遇到问题,我正在使用 docker vm dind 端点 https://127.0.0.1启用 tls 后,对等方已设置所有 docker 客户端加密 Material
CORE_VM_DOCKER_TLS_ENABLED=true
CORE_VM_DOCKER_TLS_CERT=/tmp/org1/peer1/docker/cert.pem
CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
CORE_VM_DOCKER_TLS_KEY=/tmp/org1/peer1/docker/key.pem
CORE_VM_ENDPOINT=https://127.0.0.1:2376
CORE_VM_DOCKER_TLS_CA=/tmp/org1/peer1/docker/ca.pem
正在尝试安装链代码包。
peer lifecycle chaincode install patient_consent-v0.0.1-package.tar.gz \
--peerAddresses fabric-dev-peer1-org1:7051 --connTimeout 10s \
--tlsRootCertFiles /tmp/org1/peer1/tls/msp/cacerts/fabric-dev-tlsca-org1-7052.pem \
-o fabric-dev-orderer1-org1:7050 --tls --cafile /tmp/org1/peer1/tls/msp/cacerts/fabric-dev-tlsca-org1-7052.pem
这给了我
Error: chaincode install failed with
status: 500 - failed to invoke backing implementation of 'InstallChaincode'
could not build chaincode
docker build failed
docker image inspection failed
Get https://127.0.0.1:2376/images/dev-peer1-org1-patient_consent-v0.0.1-9aedb4f5f58cb4bf18cf38f53751928caf9074c4bcb6859d8417fb37c09ab596-0acf342a6da8bfef85ec6b4d9dbe3ca4236ab9e52d903bb9fb014db836696d7b/json
remote error:
tls: bad certificate
最佳答案
在 peer chaincode install 命令中,您为排序节点设置了错误的 tlsRootCertFiles。 --cafile 与对等方相同。它是订购者 CA 文件。
--tlsRootCertFiles /tmp/org1/peer1/tls/msp/cacerts/fabric-dev-tlsca-org1-7052.pem \
-o fabric-dev-orderer1-org1:7050 --tls --cafile /tmp/org1/peer1/tls/msp/cacerts/fabric-dev-tlsca-org1-7052.pem
通常当您启动测试网络 (2.0/1) 时,排序者 tls CA 文件位于 organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca .example.com-cert.pem
您可以检查您的设置并为订购者设置正确的路径 --cafile
标志。
关于docker - Hyperledger Fabric v2 新链代码生命周期安装问题与 dind vm 端点 + tls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60868256/