如何通过 websockets 连接到 RSK 节点?

How to connect to RSK node over websockets?

我正在尝试通过 websocket 连接到我的 RSK 节点:

wscat -c ws://localhost:4445/websocket

但是,我得到了这个结果:Error: connect ECONNREFUSED 127.0.0.1:4445

文档说 websocket 默认监听端口 4445

如何正确连接?

默认情况下禁用 Websockets。 参见 RSKj configuration reference

要在 RSKj 上启用 websockets: (1) 启动 RSKj 时,将 -Drpc.providers.web.ws.enabled=true 添加到 java 命令。 (2) 更新配置文件。 对于 RSK 主网,文件名为 mainnet.conf

您的配置文件应如下所示:

rpc {
providers : {
    web: {
        cors: "*",
        http: {
            enabled: true,
            bind_address = "0.0.0.0",
            hosts = ["localhost", "127.0.0.1"],
            port: 4444,
            }
        ws: {
            enabled: true,
            bind_address: "127.0.0.1",
            hosts = ["localhost", "127.0.0.1"],
            port: 4445,
            }
        }
    }
    ...
}

之后,重启RSKj以使配置生效。 现在,如果您重复问题中的相同命令:

wscat -c ws://localhost:4445/websocket

您应该可以建立连接。

您正在尝试以正确的方式连接。

但是,请确保您有权连接到此端口,

例如,

rpc.providers.web.ws.bind_address=127.0.0.1

rpc.providers.web.ws.bind_address=0.0.0.0
  1. 您必须指定 Websockets 在 rpc.providers.web.ws.enabled=true