我开始在 Windows 上运行 RSK 节点,当我尝试时:
curl -X POST -H "Content-Type:application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://localhost:4444
Run Code Online (Sandbox Code Playgroud)
我总是得到:
{"jsonrpc":"2.0","id":1,"result":"0x0"}
Run Code Online (Sandbox Code Playgroud)
这显然意味着我的节点没有同步,所以我检查了日志并发现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...
Run Code Online (Sandbox Code Playgroud)
我没有任何其他 RSK 实例在运行,所以我不确定为什么会收到此错误。
您需要更改对等发现端口 ( peer.port) 以使用不同的端口。这是因为 RSK 主网5050用作默认对等发现端口,而 Windows 通常已分配给其他用途的较小端口号。
例如,要使用对等发现端口 启动 RSKj 50506,请使用以下命令:
java \
-D peer.port=50506 \
-cp <PATH-TO-THE-RSKJ-JAR> \
co.rsk.Start \
--regtest
Run Code Online (Sandbox Code Playgroud)
您也可以选择peer.port=50506在相关的配置文件中进行设置。
注意:这个问题通常不会发生在 RSK 测试网上,因为它的默认对等发现端口是50505,一个更大的端口号。此问题通常不会在其他操作系统上发生,因为该 RSK 主网端口号通常未使用。
| 归档时间: |
|
| 查看次数: |
30 次 |
| 最近记录: |