流程垂悬在Corda的收集交易对手签名中

时间:2018-11-30 09:14:44

标签: corda

我正在尝试在两个AWS实例中运行Example Cordapp。一审中有公证人和甲方,二审中有乙方和甲方。

我遵循了这里的步骤, Corda nodes: how to connect two independent pc as two nodes?

在的conf文件中,

  1. 公证人和甲方-我已经编辑了P2P地址以反映实例1的PrivateIP
  2. PartyB和PartyC-我已经编辑了P2P地址以反映实例2的PrivateIP

使用上面的conf文件,我在实例1中运行Network Bootstrapper jar,然后将PartyB和PartyC文件夹复制到实例2,并在相应的实例中分别按1和1启动公证人。

所有节点均成功启动,并且当我尝试执行从PartA(实例1)到PartyC(实例2)的IOU流时,它在收集交易对手签名步骤中暂停,而未进行进一步操作。以下是我在PartyA控制台中看到的内容,

Fri Nov 30 08:39:10 UTC 2018>>> flow start ExampleFlow$Initiator iouValue: 50, otherParty: "O=PartyC,L=Paris,C=FR"
Verifying contract constraints.
Signing transaction with our private key.
Gathering the counterparty's signature.
Collecting signatures from counterparties. (hanging here and not proceeding further)

当我尝试查看NodeA中的日志信息时,它显示如下。

[INFO ] 2018-11-30T08:39:10,077Z [main] messaging.RPCServer.start - Starting RPC server with configuration RPCServerConfiguration(rpcThreadPoolSize=4, reapInterval=PT1S, deduplicationCacheExpiry=PT24H) {}
[INFO ] 2018-11-30T08:39:10,115Z [Thread-0 (ActiveMQ-client-global-threads)] bridging.BridgeControlListener.processControlMessage - Received bridge control message Create(nodeIdentity=DLHBP432vnpLNpCNwGQJjx3hd6RDz4LiYxmZJo757W8Hbw, bridgeInfo=BridgeEntry(queueName=internal.peers.DL9tRWQ867M3tni7KRqkXEJKPrkyW5KVj6fyRyDBHGaGA6, targets=[[2001:0:9d38:953c:3c:ce3:cbd9:3c59]:10013], legalNames=[O=PartyC, L=Paris, C=FR])) {}
[INFO ] 2018-11-30T08:39:11,072Z [nioEventLoopGroup-2-2] netty.AMQPClient.nextTarget - Retry connect to [2001:0:9d38:953c:3c:ce3:cbd9:3c59]:10013 {}
[INFO ] 2018-11-30T08:39:12,171Z [nioEventLoopGroup-2-3] netty.AMQPClient.operationComplete - Failed to connect to [2001:0:9d38:953c:3c:ce3:cbd9:3c59]:10013 {}
[INFO ] 2018-11-30T08:39:14,172Z [nioEventLoopGroup-2-4] netty.AMQPClient.nextTarget - Retry connect to [2001:0:9d38:953c:3c:ce3:cbd9:3c59]:10013 {}
[INFO ] 2018-11-30T08:39:15,175Z [nioEventLoopGroup-2-1] netty.AMQPClient.operationComplete - Failed to connect to [2001:0:9d38:953c:3c:ce3:cbd9:3c59]:10013 {}

我可以在没有私有IP的情况下在实例之间执行ping操作。有人可以帮助我,我在哪里缺少东西。

谢谢。

1 个答案:

答案 0 :(得分:0)

此问题是由节点计算机上的防火墙引起的,该防火墙阻止该节点的消息到达对方节点。

您需要打开:

  1. 节点的P2P地址的出站端口
  2. 其他节点的P2P地址的入站端口

在大型网络上,这可能意味着打开许多入站端口,这对于某些公司的安全策略可能是个问题。 Corda Firewall解决了这个问题。