我在Corda遇到从甲方到乙方执行IOU的问题。 以下是配置细节:
网络引导成功并移动了新创建的节点文件夹各自的EC2实例并启动了运行节点。 但是当从甲方到乙方履行欠条时,它不起作用。请建议如何解决此问题。
我在节点日志中看到以下错误:
E 11:34:47+0000 [main] internal.Node.run - Exception during node startup {}
java.net.BindException: Cannot assign requested address: bind
at sun.nio.ch.Net.bind0(Native Method) ~[?:1.8.0_161]
at sun.nio.ch.Net.bind(Unknown Source) ~[?:1.8.0_161]
at sun.nio.ch.Net.bind(Unknown Source) ~[?:1.8.0_161]
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source) ~[?:1.8.0_161]
at io.netty.channe
参考:https://docs.corda.net/tutorial-cordapp.html#running-nodes-across-machines
答案 0 :(得分:0)
在Corda V3.1中使用rpcSettings
时,地址和adminAddress需要使用0.0.0.0。
rpcSettings {
address="0.0.0.0:10003"
adminAddress="0.0.0.0:10103"
}
这些端点不会在外部公布,因此本地IP只是Corda的绑定。
使用公共IP或DNS时,这应解决启动cordapp时的以下异常:
E 21:28:56 + 0000 [main] internal.Node.run - 节点期间的异常 startup {} io.netty.channel.unix.Errors $ NativeIoException:bind(..) 失败:无法分配请求的地址
答案 1 :(得分:0)
我通过以下方式在不同主机上进行节点通信。
首先,我使用包含
的node.conf文件部署节点"p2pAddress" : "host:10012",
"rpcSettings" : {
"address" : "host:10014",
"adminAddress" : "host:10013"
}
然后在部署节点之后,我将rpcSettings的主机更改为localhost
"rpcSettings" : {
"address" : "localhost:10014",
"adminAddress" : "localhost:10013"
}
这种方式看起来很奇怪,但是在此操作节点开始通信之后
这与在节点部署时生成的NodeInfo文件有关,并且应包含rpc的主机。之后,rpc需要本地主机进行交互。我认为这可能是一个错误,但可以正常工作。