5

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

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

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

文档说 websocket4445默认监听端口。

如何正确连接?

4

2 回答 2

7

默认情况下禁用 Websocket。请参阅RSKj 配置参考

要在 RSKj 上启用 websocket: (1)在启动 RSKj 时添加-Drpc.providers.web.ws.enabled=true到您的命令中。java(2) 更新配置文件。该文件以mainnet.confRSK 主网命名。

  • 有关如何定位和编辑配置文件的信息,请参阅RSKj 节点配置。
  • 有关可用的各种 RPC 配置(包括与 websockets 相关的配置)的详细说明,请参阅RPC 协议配置参考

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

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

您应该能够建立连接。

于 2021-02-15T15:13:35.403 回答
3

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

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

例如,

rpc.providers.web.ws.bind_address=127.0.0.1

或者

rpc.providers.web.ws.bind_address=0.0.0.0
  1. 您必须指定 Websocket 已开启rpc.providers.web.ws.enabled=true
于 2021-02-16T07:54:38.753 回答