使用该语句channel.getPeers().forEach(p -> System.out.println(p));
,我尝试查看我的频道中有哪些同行。我得到以下输出:
Peer{ id: 21, name: peer3.myorg.com:7051, channelName: deconeb-channel, url: grpcs://peer3.myorg.com:7051, mspid: myMSP}
Peer{ id: 19, name: peer1.myorg.com:7051, channelName: deconeb-channel, url: grpcs://peer1.myorg.com:7051, mspid: myMSP}
Peer{ id: 9, name: peer2.myorg.com, channelName: deconeb-channel, url: grpcs://192.168.100.100:7051, mspid: myMSP}
Peer{ id: 10, name: peer3.myorg.com, channelName: deconeb-channel, url: grpcs://192.168.100.100:8051, mspid: myMSP}
Peer{ id: 17, name: peer2.myorg.com:7051, channelName: deconeb-channel, url: grpcs://peer2.myorg.com:7051, mspid: myMSP}
Peer{ id: 8, name: peer1.myorg.com, channelName: deconeb-channel, url: grpcs://192.168.100.101:7051, mspid: myMSP}
当我尝试发送交易时,对于每个对等方,我将看到两者中不正确的错误 - 例如:
18:42:54.835 [main] ERROR org.hyperledger.fabric.sdk.Channel - Channel Channel{id: 7, name: deconeb-channel} Sending proposal with transaction: c96ca8d9f3220163876d4a03efb3b2d133fdf10a5f21c5f8a9def3cafca5db6a to Peer{ id: 21, name: peer3.myorg.com:7051, channelName: deconeb-channel, url: grpcs://peer3.myorg.com:7051, mspid: myMSP} failed because of: gRPC failure=Status{code=UNAVAILABLE, description=Unable to resolve host peer3.myorg.com, cause=java.lang.RuntimeException: java.net.UnknownHostException: peer3.myorg.com
at io.grpc.internal.DnsNameResolver.resolveAddresses(DnsNameResolver.java:223)
at io.grpc.internal.DnsNameResolver.doResolve(DnsNameResolver.java:282)
at io.grpc.internal.DnsNameResolver$Resolve.run(DnsNameResolver.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.UnknownHostException: peer3.myorg.com
at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
at java.net.InetAddress.getAllByName(InetAddress.java:1193)
at java.net.InetAddress.getAllByName(InetAddress.java:1127)
at io.grpc.internal.DnsNameResolver$JdkAddressResolver.resolveAddress(DnsNameResolver.java:631)
at io.grpc.internal.DnsNameResolver.resolveAddresses(DnsNameResolver.java:219)
... 5 more
}
我如何为网络中的每个对等方获取两个条目?我应该如何确保我只得到正确的?