1
votes

I have the problem in Corda regarding performing IOU from Party A to Party B. Below is configuration detail:

  • 3 node.conf [Party A, Party B, and Notary ].
  • Hosting application in AWS, So in node config file instead of "localhost", I gave the IP of the machines. I gave the same IP for Notary & Party A, different for Party B.

Network Bootstrapping was successful and moved the newly created node folders respective EC2 instances and started run nodes. But when performed the IOU from Party A to Party B it's not working. Please suggest how to resolve the issue.

I see the following error in the node logs:

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

Reference: https://docs.corda.net/tutorial-cordapp.html#running-nodes-across-machines

2
what is the error? - Kid101
There is no error ...... but when I tried to perform the IOU operation its not working ...even though all the ports are open in AWS security group and the ping is also working. - GPC
There should be an error in the node logs. Have you checked there, in the logs directory of the node folder? - Joel
Hi joel I am getting this error. 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 - GPC

2 Answers

0
votes

I reach node communication on different hosts by the following way.

First of all I deploy node with node.conf file which contains

"p2pAddress" : "host:10012",
    "rpcSettings" : {
        "address" : "host:10014",
        "adminAddress" : "host:10013"
    }

Then after node deployed I change host of rpcSettings to localhost

"rpcSettings" : {
        "address" : "localhost:10014",
        "adminAddress" : "localhost:10013"
    }

Such way looks strange, however after this manipulation nodes started to communicate

This is related with NodeInfo file which is generated at node deploy and it should contains the host for rpc. After that rpc needs localhost for interaction. I think it might be a bug, but works fine in that way.

0
votes

When using rpcSettings in Corda V3.1 the address and adminAddress need to be using 0.0.0.0.

rpcSettings {
    address="0.0.0.0:10003"
    adminAddress="0.0.0.0:10103"
}

These endpoints are not advertised externally so the local ip is solely a binding for Corda.

This should solve the following exception on starting your cordapp when using public ip or DNS:

E 21:28:56+0000 [main] internal.Node.run - Exception during node startup {} io.netty.channel.unix.Errors$NativeIoException: bind(..) failed: Cannot assign requested address