gpt4 book ai didi

websocket - 如何通过 websockets 在本地 RSK 节点上订阅 `newBlockHeaders`?

转载 作者:行者123 更新时间:2023-12-04 11:22:58 25 4
gpt4 key购买 nike

我正在使用以下端点连接到 RSKj:

ws://localhost:4444/
... 但是,我无法连接。
请注意,等效的 HTTP 端点 http://localhost:4444/为我工作,所以我知道我的 RSKj 节点运行正常。
我需要听 newBlockHeaders ,所以我更喜欢使用 WebSockets(而不是 HTTP)。
我怎样才能做到这一点?

最佳答案

RSKj 默认使用 4444作为 HTTP 传输的端口;
4445作为 Websockets 传输的端口。
另请注意,websockets 端点不在 / ,
而是在 websocket .
因此使用 ws://localhost:4445/websocket作为您的端点。
如果您使用的是 web3.js,
您可以创建一个 web3通过 Websockets 连接的实例
使用以下内容:

const Web3 = require('web3');
const wsEndpoint = 'ws://localhost:4445/websocket';
const wsProvider =
new Web3.providers.WebsocketProvider(wsEndpoint);
const web3 = new Web3(wsProvider);

你的问题的第二部分可以完成
使用 eth_subscribenewBlockHeaders .
使用 web3上面的实例像这样:
// eth_subscribe newBlockHeaders
web3.eth.subscribe('newBlockHeaders', function(error, blockHeader) {
if (!error) {
// TODO something with blockHeader
} else {
// TODO something with error
}
});

关于websocket - 如何通过 websockets 在本地 RSK 节点上订阅 `newBlockHeaders`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67567903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com