如何使用 Web3.js 库将服务器连接到币安智能链?

How to connect server to Binance Smart Chain using the Web3.js library?

我正在尝试将我在 ExpressJS 中的小型服务器 Web 应用程序连接到 BSC 区块链,但没有成功。

据我了解,Web3 库提供了所有必需的内容,我可以通过调用

进行连接

new Web3(new Web3.providers.HttpProvider(urlToRpcNode))

按照此,我将以下内容放入我的函数中,该函数用作 Web3 对象初始化:

return new Web3(new Web3.providers.HttpProvider(https://bsc-dataseed1.binance.org));

根据 BscScan,给定的参数是 URL 到 BSC https://bscscan.com/apis#rpc.

的 RPC 节点

不幸的是,等待这个调用会永远卡住,return 什么也做不了。

我做错了什么?感谢任何帮助。

编辑:

我在 Binance Docs 找到了另一个 link,其中概述了连接到 BSC 的具体过程。以下是他们的做法:

const web3 = new Web3('https://bsc-dataseed1.binance.org:443');

https://docs.binance.org/smart-chain/developer/create-wallet.html#connect-to-bsc-network

不幸的是,这给了我同样的结果。

上面的 web3 部分工作正常。请尝试以下几行,

var Web3 = require('web3');
const web3_bsc = new Web3('https://bsc-dataseed1.binance.org:443');

然后使用 web3_bsc,访问合约中的功能或执行 web3 支持的任何功能。

几个月后,我记得问过这个问题。我最终使用了外部 RPC 节点提供商(fe.QuickNode、Ankr、Infura)。

我手头没有确切的代码,但我知道步骤如下:

  • 在提供 RPC 服务的平台上开设账户
  • 例如。 Infura、Ankr、QuickNode(这些是我找到的)
  • 这些服务可以让你为某个区块链创建自己的节点(我看到了 Eth、Bsc、Polygon、AvalancheC 等等)
  • 在您创建自己的节点(当然是付费服务)后,您会为您的节点获得一个 HTTP link,看起来像这样 https://mynode2241235.ankr.com/,我们称其为 LINK从现在开始。
  • 回到我的服务器上,我采用了常规的 Web3 连接代码片段,并通过将此 LINK 作为 HttpProvider 来修改它,所以像这样:

const instance = new Web3(new Web3.providers.HttpProvider(LINK));