Как подключиться к узлу RSK через веб-сокеты?
Я пытаюсь подключиться к своему узлу RSK через веб-узел:
wscat -c ws://localhost:4445/websocket
Однако я получаю такой результат:
Error: connect ECONNREFUSED 127.0.0.1:4445
.
Документы говорят, что websocket слушает порт
4445
по умолчанию.
Как правильно подключиться?
2 ответа
По умолчанию Websocket отключен. См. [Справочник по конфигурации RSKj]
Чтобы включить веб-сокеты на RSKj:(1) Добавьте
-Drpc.providers.web.ws.enabled=true
на ваш
java
команда при запуске RSKj.(2) Обновите файл конфигурации. Файл называется
mainnet.conf
для RSK Mainnet.
- См. [Конфигурация узла RSKj], чтобы узнать, как найти и отредактировать файл конфигурации.
- См. [Справочник по конфигурации протокола RPC] для подробного объяснения различных доступных конфигураций 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
У вас должно получиться установить соединение.
Вы пытаетесь подключиться правильно.
Однако убедитесь, что у вас есть право подключаться к этому порту,
Например,
rpc.providers.web.ws.bind_address=127.0.0.1
или же
rpc.providers.web.ws.bind_address=0.0.0.0
- Вы должны указать, что веб-сокеты включены
rpc.providers.web.ws.enabled=true