在Windows上运行RSK节点时如何避免“PeerDiscoveryException”?

我开始在 Windows 上运行 RSK 节点,当我尝试时:

curl -X POST -H "Content-Type:application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://localhost:4444

我总是得到:

{"jsonrpc":"2.0","id":1,"result":"0x0"}

这显然意味着我的节点没有同步,所以我检查了日志并发现Address already in use

 Exception in thread "UDPServer" co.rsk.net.discovery.
 PeerDiscoveryException: Discovery can't be started.
 At co.rsk.net.discovery.UDPServer$1.run(UDPServer.java:65) - caused by: java.net.BindException: Address already in use...

我没有任何其他 RSK 实例在运行,所以我不确定为什么会收到此错误。

回答

您需要更改对等发现端口 ( peer.port) 以使用不同的端口。这是因为 RSK 主网5050用作默认对等发现端口,而 Windows 通常已分配给其他用途的较小端口号。

例如,要使用对等发现端口 启动 RSKj 50506,请使用以下命令:

java 
  -D peer.port=50506 
  -cp <PATH-TO-THE-RSKJ-JAR> 
  co.rsk.Start 
  --regtest

您也可以选择peer.port=50506在相关的配置文件中进行设置。

注意:这个问题通常不会发生在 RSK 测试网上,因为它的默认对等发现端口是50505,一个更大的端口号。此问题通常不会在其他操作系统上发生,因为该 RSK 主网端口号通常未使用。


以上是在Windows上运行RSK节点时如何避免“PeerDiscoveryException”?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>