如何将 BSC wesocket 提供程序与 Web3J 或 Web3js 连接

Posted

技术标签:

【中文标题】如何将 BSC wesocket 提供程序与 Web3J 或 Web3js 连接【英文标题】:How to connect BSC wesocket provider with Web3J or Web3js 【发布时间】:2021-08-10 15:27:02 【问题描述】:

我尝试通过 getblock.io 连接到 websocket api,但总是失败。下面是JS代码。但 HttpProvider 在“https://bsc-mainnet.web3api.com/v1/API_KEY”上运行良好。

web3ws = new Web3(new Web3.providers.WebsocketProvider('wss://bsc.getblock.io/mainnet/?api_key=API_KEY'));

if (web3ws.isConnected)
            console.log("Connected");
        else 
            console.log("Not Connected"); 

我在这里遗漏了什么吗?我是否必须先付款才能使用此服务?

【问题讨论】:

【参考方案1】:

GetBlock 当前(2021 年 5 月)不支持 WebSocket 提供程序。

来自他们的pricing 页面:

Webhook 和 WebSockets

即将推出!我们不断添加新功能并升级服务


如果 HTTPS 提供程序足以满足您的用例(例如,如果您不需要使用 web3 subscriptions),您可以使用任何仅支持 HTTPS 连接的提供程序。包括 GetBlock 或BSC docs 中所述的推荐提供程序

否则,您将需要使用支持 WebSocket 的其他第三方提供商或配置您自己的。

【讨论】:

Ive tried also with wss://apis.ankr.com/wss API but the result is same, i cant 连接到 wss。我的目标是尽快获得待处理的 Tx。我可以通过 HttpProviders 做到这一点,但它是一个相当慢的协议。您能否向我推荐任何 BSC 的 WSS 提供商? 不幸的是我什么都不知道。 BSC 仍然是一个非常新的网络,它周围的基础设施现在还没有得到很大的发展......如果速度对您来说是一个重要因素,我建议您设置一个 BSC 全节点,为您提供 WSS 连接应用程序。 是的,它是运行节点的一个选项,但我使用的硬件现在不足以运行它。感谢您的快速回复。 你试过 QuickNode 吗?启动和运行大约需要 30 秒。 7 天免费试用,然后每月 9.00 美元... 我查看了 ANKR 的 bsc 网络套接字,价格约为每月 250.00 美元...【参考方案2】:

我们的 BSC WebSockets 一直在工作。 Petr Hejda 所指的 WebSockets 是一种用于事件通知的工具。目前,它正在开发中,我们正在努力实施。

我们将检查您发送的 JS 代码以了解是否一切正确。如果您想测试服务,您不应该付费,因为我们每天免费提供 40K 请求。

【讨论】:

很抱歉,但我遇到了与 OP 相同的问题。到 eth.getblock.io 的 Websocket 正在工作。 bsc.getblock.io 不工作。 我有兴趣为 BSC 测试 websockets API。我想知道 BSC 上的钱包余额何时发生变化。这可能吗?

以上是关于如何将 BSC wesocket 提供程序与 Web3J 或 Web3js 连接的主要内容,如果未能解决你的问题,请参考以下文章

bsc 通过钱包地址获取交易 Web3.py

连接到trustwallet并获取bsc、eth、btc地址和余额

BSC上的链游Binaryx(赛博之龙),游戏玩法与收益详解

无法与 BSC 主网中的合约交互,但在测试网中成功(但仍然是标准传输)

使用Hardhat验证 Solidity 源码 (Ethereum or BSC)

BSC发布solidity智能合约