如何通过 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
。
- 见RSKj node configuration
了解如何定位和编辑配置文件。
- 有关可用的各种 RPC 配置的详细说明,包括与 websockets 相关的配置,请参阅 RPC protocol configuration reference。
您的配置文件应如下所示:
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
- 您必须指定 Websockets 在
rpc.providers.web.ws.enabled=true
我正在尝试通过 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
。
- 见RSKj node configuration 了解如何定位和编辑配置文件。
- 有关可用的各种 RPC 配置的详细说明,包括与 websockets 相关的配置,请参阅 RPC protocol configuration reference。
您的配置文件应如下所示:
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
- 您必须指定 Websockets 在
rpc.providers.web.ws.enabled=true