首页 > 解决方案 > Corda 节点已启动但未与其他节点交互

问题描述

我已经修改了 node2 的 node.conf 文件,并且在 node.conf 文件中添加了 sshd { port = 2222 }。之后重新启动node2。

我的 node2 已启动,但它不接受来自其他节点的任何请求。也没有执行任何操作,因为如果 node1 正在向 node2 发送请求,那么在 node2 上没有请求,并且在 node1 上它有 1 或 2 个检查点。

我被困在这里,请帮助解决问题。

所有 node1 , node2 , notary 都运行良好。问题仅在于 node2 不接受来自 node1 的任何请求。

虽然我可以在 node1 日志中看到它连接到 node2。

我观察到我的 node2 没有像其他节点中那样的日志 [Node thread-1] messing.P2PMessagingClient.createQueueIfAbsent - 为以前空的队列 internal.peers 启动桥接

使用corda OS 4.0请帮忙。

标签: corda

解决方案


对于连接问题,请检查您的一个或多个 Java 进程是否仍在运行从而使用连接,这种冲突意味着新启动的进程无法重新建立已经建立的连接,因此它失败是正常的,您看到的日志是从预先存在的连接。

在运行节点之前,请确保使用以下命令终止所有正在运行的进程:
kill -9 <PID>其中 PID 是正在运行的节点 的进程 ID

或者如果你想杀死在你的环境中运行的所有 Java 进程:
killall -9 java

对于您提到的第二个问题,node2 没有日志,如果您使用命令从命令行手动运行节点,请java -jar corda.jar确保从 corda.jar 所在的同一目录运行命令。

运行节点的错误方式:
java -jar /path/to/jar/corda.jar

运行节点的正确方法:

  • 去同一个目录cd /path/to/jar/
  • 运行命令java -jar corda.jar

这个 StackOverflow 问题可能有助于作为参考:
如果 JVM 崩溃,线程是否仍然存在?


推荐阅读