"Error: No valid response from any peers" when executing composer network install on custom fabric network
"Error: No valid response from any peers" when executing composer network install on custom fabric network
我目前正在为我正在处理的 Hyperledger Composer 项目设置自定义 Hyperledger Fabric 网络。
Composer 文件已经可以使用提供的开箱即用的开发结构服务器完美运行,即 ./startFabric.sh
。我遵循了 tutorial 关于如何使用给定的 byfn.sh
将现有业务网络部署到多组织情况,并且网络已成功安装(composer network install ...
成功安装了 .bna
在结构网络上)。
现在我尝试修改 byfn.sh
以支持 3(三)个组织,每个组织只有一个对等体。其他文件(crypto-config.yaml
, configtx.yaml
, scripts/script.sh
和 docker 撰写文件)也相应修改。
script/script.sh
中的 e2e 测试实际上运行成功(直到出现 "END" ASCII 艺术),这让我认为 fabric 网络已成功设置。 docker ps
命令还 shows docker 容器是 运行.
但是,当我尝试在设置结构上执行 composer network install
时,它会输出以下内容:
$ composer network install -c PeerAdmin@example-org1 -a stockchainz.bna
✖ Installing business network. This may take a minute...
Error: Error trying install business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: Failed to connect before the deadline
Command failed
为什么会出现这个错误,即使端到端测试运行良好?我怀疑 connection.json file 不知何故配置错误,因为 e2e运行得很好(“INSERT_..._CA_CERT
”和 "INSERT_ORG_NAME"
已经替换为正确的值)
通过日志挖掘,我发现grpc找不到对等点。事实证明这是一个证书问题,我的怀疑是正确的。设置 GRPC_VERBOSITY=DEBUG
显示 re-executing composer network install
:
时的日志
...
D0507 12:21:21.934229064 14853 security_handshaker.cc:127] Security handshake failed: {"created":"@1557231681.934207000","description":"Peer name localhost is not in peer certificate","file":"../deps/grpc/src/core/lib/security/security_connector/security_connector.cc","file_line":780}
...
connection.json
将所有对等点的 url 设置为 grpcs://localhost:<port>
。而不是这个:
...
"peer0.org1.example.com": {
"url": "grpcs://localhost:7051",
"tlsCACerts" : {
"pem": "INSERT_ORG1_CA_CERT"
}
},
...
我改成了这样:
...
"peer0.org1.example.com": {
"url": "grpcs://localhost:7051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org1.example.com"
},
"tlsCACerts" : {
"pem": "INSERT_ORG1_CA_CERT"
}
},
...
这样做之后,业务网络存档安装成功:
$ composer network install --card PeerAdmin@example-org1 --archiveFile business-net.bna
⠋ Installing business network. This may take a minute...D0507 12:45:04.640298851 15321 dns_resolver.cc:331] Using native dns resolver
E0507 12:45:04.640363346 15321 trace.cc:57] Unknown trace var: 'transport_security'
⠸ Installing business network. This may take a minute...I0507 12:45:07.172482196 15321 subchannel.cc:605] New connected subchannel at 0x2c208d0 for subchannel 0x2b83880
I0507 12:45:07.173478121 15321 subchannel.cc:605] New connected subchannel at 0x2b10fa0 for subchannel 0x2b572f0
I0507 12:45:07.174495644 15321 subchannel.cc:605] New connected subchannel at 0x2c0b0e0 for subchannel 0x2b5bbe0
I0507 12:45:07.176448759 15321 subchannel.cc:605] New connected subchannel at 0x2bac9c0 for subchannel 0x2b17bc0
⠼ Installing business network. This may take a minute...I0507 12:45:07.205505423 15321 subchannel.cc:605] New connected subchannel at 0x2d6d400 for subchannel 0x2d65330
I0507 12:45:07.206441632 15321 subchannel.cc:605] New connected subchannel at 0x2c21970 for subchannel 0x2d69b80
⠧ Installing business network. This may take a minute...I0507 12:45:08.365612394 15321 subchannel.cc:605] New connected subchannel at 0x2c8efa0 for subchannel 0x2b37020
I0507 12:45:08.369911016 15321 subchannel.cc:605] New connected subchannel at 0x2bb2660 for subchannel 0x2c9d510
✔ Installing business network. This may take a minute...
Successfully installed business network business-net, version 0.1.0
Command succeeded
我目前正在为我正在处理的 Hyperledger Composer 项目设置自定义 Hyperledger Fabric 网络。
Composer 文件已经可以使用提供的开箱即用的开发结构服务器完美运行,即 ./startFabric.sh
。我遵循了 tutorial 关于如何使用给定的 byfn.sh
将现有业务网络部署到多组织情况,并且网络已成功安装(composer network install ...
成功安装了 .bna
在结构网络上)。
现在我尝试修改 byfn.sh
以支持 3(三)个组织,每个组织只有一个对等体。其他文件(crypto-config.yaml
, configtx.yaml
, scripts/script.sh
和 docker 撰写文件)也相应修改。
script/script.sh
中的 e2e 测试实际上运行成功(直到出现 "END" ASCII 艺术),这让我认为 fabric 网络已成功设置。 docker ps
命令还 shows docker 容器是 运行.
但是,当我尝试在设置结构上执行 composer network install
时,它会输出以下内容:
$ composer network install -c PeerAdmin@example-org1 -a stockchainz.bna
✖ Installing business network. This may take a minute...
Error: Error trying install business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: Failed to connect before the deadline
Command failed
为什么会出现这个错误,即使端到端测试运行良好?我怀疑 connection.json file 不知何故配置错误,因为 e2e运行得很好(“INSERT_..._CA_CERT
”和 "INSERT_ORG_NAME"
已经替换为正确的值)
通过日志挖掘,我发现grpc找不到对等点。事实证明这是一个证书问题,我的怀疑是正确的。设置 GRPC_VERBOSITY=DEBUG
显示 re-executing composer network install
:
...
D0507 12:21:21.934229064 14853 security_handshaker.cc:127] Security handshake failed: {"created":"@1557231681.934207000","description":"Peer name localhost is not in peer certificate","file":"../deps/grpc/src/core/lib/security/security_connector/security_connector.cc","file_line":780}
...
connection.json
将所有对等点的 url 设置为 grpcs://localhost:<port>
。而不是这个:
...
"peer0.org1.example.com": {
"url": "grpcs://localhost:7051",
"tlsCACerts" : {
"pem": "INSERT_ORG1_CA_CERT"
}
},
...
我改成了这样:
...
"peer0.org1.example.com": {
"url": "grpcs://localhost:7051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org1.example.com"
},
"tlsCACerts" : {
"pem": "INSERT_ORG1_CA_CERT"
}
},
...
这样做之后,业务网络存档安装成功:
$ composer network install --card PeerAdmin@example-org1 --archiveFile business-net.bna
⠋ Installing business network. This may take a minute...D0507 12:45:04.640298851 15321 dns_resolver.cc:331] Using native dns resolver
E0507 12:45:04.640363346 15321 trace.cc:57] Unknown trace var: 'transport_security'
⠸ Installing business network. This may take a minute...I0507 12:45:07.172482196 15321 subchannel.cc:605] New connected subchannel at 0x2c208d0 for subchannel 0x2b83880
I0507 12:45:07.173478121 15321 subchannel.cc:605] New connected subchannel at 0x2b10fa0 for subchannel 0x2b572f0
I0507 12:45:07.174495644 15321 subchannel.cc:605] New connected subchannel at 0x2c0b0e0 for subchannel 0x2b5bbe0
I0507 12:45:07.176448759 15321 subchannel.cc:605] New connected subchannel at 0x2bac9c0 for subchannel 0x2b17bc0
⠼ Installing business network. This may take a minute...I0507 12:45:07.205505423 15321 subchannel.cc:605] New connected subchannel at 0x2d6d400 for subchannel 0x2d65330
I0507 12:45:07.206441632 15321 subchannel.cc:605] New connected subchannel at 0x2c21970 for subchannel 0x2d69b80
⠧ Installing business network. This may take a minute...I0507 12:45:08.365612394 15321 subchannel.cc:605] New connected subchannel at 0x2c8efa0 for subchannel 0x2b37020
I0507 12:45:08.369911016 15321 subchannel.cc:605] New connected subchannel at 0x2bb2660 for subchannel 0x2c9d510
✔ Installing business network. This may take a minute...
Successfully installed business network business-net, version 0.1.0
Command succeeded