0

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

据我了解,Web3 库在后台提供了所有必需的东西,我可以通过调用来连接

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

通过遵循这一点,我将以下内容放入我的函数中,该函数用作 Web3 对象 init:

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

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

不幸的是,等待这个调用只会永远卡住并且不会返回任何东西。

我究竟做错了什么?任何帮助表示赞赏。

编辑:

我找到了 Binance Docs 的另一个链接,其中概述了连接到 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

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

4

2 回答 2

1

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

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

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

于 2021-09-09T19:07:45.063 回答
0

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

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

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

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

于 2022-02-09T10:41:16.430 回答