在连接到 Kaleido 节点的 Websocket 后,我立即收到“连接未在 send() 上打开”错误。我正在尝试使用 web3js 版本 1.0.0-beta.34 中的 WebsocketProvider。
我的连接代码如下所示,其中username
和password
是wssUrl
包含有关 Kaleido 节点信息的局部变量。
const web3 = new Web3(new Web3.providers.WebsocketProvider(`wss://${username}:${password}@${wssUrl}`))
我已经尝试了这个 Github 问题中列出的建议步骤——如果连接丢失,尝试重新连接,但错误仍然存在。我认为这可能是 Kaleido 问题,因为我可以将 WebsocketProvider 用于本地 Ganache 帐户。
能够为 Kaleido 节点使用 Websocket 连接会很有帮助,因此我可以使用 web3js 1.0 版。HTTP 连接工作得很好,但在 web3js 1.0 中使用 HttpProvider 监听事件已被弃用,从而迫使您使用 WebsocketProvider。谢谢!