【问题标题】:Running corda nodes in different machines在不同的机器上运行corda节点
【发布时间】:2019-01-05 01:56:01
【问题描述】:

我在 Corda 中遇到了关于从甲方到乙方执行 IOU 的问题。 以下是详细配置:

  • 3 node.conf [甲方、乙方和公证人]。
  • 在 AWS 中托管应用程序,因此在节点配置文件而不是“localhost”中,我给出了机器的 IP。我给了公证人和甲方相同的IP,给乙方不同。

网络引导成功并移动了新创建的节点文件夹相应的 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

【问题讨论】:

  • 错误是什么?
  • 没有错误......但是当我尝试执行 IOU 操作时它不工作......即使所有端口在 AWS 安全组中都打开并且 ping 也工作.
  • 节点日志应该有错误。你在节点文件夹的logs 目录中检查了吗?
  • 嗨,乔尔,我收到了这个错误。 E 11:34:47+0000 [main] internal.Node.run - 节点启动期间出现异常{} java.net.BindException:无法分配请求的地址:在 sun.nio.ch.Net.bind0 处绑定(本机方法)~ [?: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 ] 在 sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source) ~[?:1.8.0_161] at io.netty.channe

标签: corda


【解决方案1】:

我通过以下方式到达不同主机上的节点通信。

首先,我使用包含

的 node.conf 文件部署节点
"p2pAddress" : "host:10012",
    "rpcSettings" : {
        "address" : "host:10014",
        "adminAddress" : "host:10013"
    }

然后在节点部署后,我将 rpcSettings 的主机更改为 localhost

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

这种方式看起来很奇怪,但是在这种操作之后节点开始通信

这与节点部署时生成的 NodeInfo 文件有关,它应该包含 rpc 的主机。之后 rpc 需要 localhost 进行交互。我认为这可能是一个错误,但以这种方式工作正常。

【讨论】:

    【解决方案2】:

    在 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 - 节点期间出现异常 启动 {} io.netty.channel.unix.Errors$NativeIoException: bind(..) 失败:无法分配请求的地址

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-16
      • 2020-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-24
      • 2020-10-10
      • 1970-01-01
      相关资源
      最近更新 更多