Я использую Corda 3.1 и запускаю узлы на разных машинах.Если я указываю свой p2pAddress в качестве имени хоста, после успешного запуска я получаю сообщение об ошибке неверной конечной точки при попытке транзакций в примере IOU:
[ERROR] 2018-05-31T14:48:22,406Z [nioEventLoopGroup-2-1] O=Bank A,L=London,C=GB.write - Error in AMQP write processing {}
java.lang.IllegalArgumentException: Message for incorrect endpoint
at net.corda.nodeapi.internal.protonwrapper.netty.AMQPChannelHandler.write(AMQPChannelHandler.kt:124) [corda-node-api-3.1-corda.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:38) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:1089) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1136) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1078) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:442) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
Вот фрагмент моего узла.conf:
myLegalName : "O=Bank A,L=London,C=GB"
p2pAddress : "my-load-balancer-hostname.aws.com:10002"
rpcSettings = {
address : "localhost:10003"
adminAddress : "localhost:10004"
}
rpcUsers : [
{ username=user1, password=test, permissions=[ ALL ] }
]
devMode : true
Я могу решить эту проблему (и выполнить транзакции между узлами, как ожидается), используя IP-адрес компьютера в качестве адреса p2pAddress.Тем не менее, мой IP-адрес узла может измениться, поэтому я хотел бы использовать имя хоста?Это возможно?