Logo
新用户订阅 RPC,首月享 6.5 折优惠查看优惠
RPC Assistant

Binance Chain API:如何连接 BNB 智能链 RPC 端点

摘要

了解如何使用 RPC API 连接 BNB 智能链(Binance Chain)。本指南涵盖链设置、公共端点,以及如何为您的 dApp 选择公共、托管或专用节点基础设施。

快速决策:哪种 BNB Chain API 设置适合您的项目?

在编写任何代码之前,请决定如何访问 BNB 智能链。正确的选择取决于您的工作负载、对速率限制的容忍度以及是否需要历史数据。

  • 原型开发或轻量使用: 使用公共 RPC 端点,如 https://bnb.api.onfinality.io/public。它是免费的,适合开发,但它是共享的,可能有速率限制。
  • 生产 dApp 或后端: 使用具有更高吞吐量和可靠性的托管 RPC 服务。OnFinality 提供托管端点,可访问归档数据和 WebSocket 支持。
  • 高吞吐量或数据密集型工作负载: 考虑专用节点。如果您需要运行许多 eth_getLogs 查询、处理大批量数据或需要一致的性能,专用基础设施可为您提供隔离的资源。

如果您不确定,请从托管服务开始,在达到限制时扩展到专用节点。有关评估提供商的更多详细信息,请参阅我们的选择 RPC 提供商指南。

什么是 Binance Chain API?

Binance Chain API 通常指 BNB 智能链(BSC)的 RPC 接口,BNB 智能链是与原始 Binance Chain 并行运行的 EVM 兼容区块链。开发人员使用此 API 读写链上数据:发送交易、查询余额、获取日志等。

BNB 智能链使用以太坊 JSON-RPC 标准,因此任何以太坊工具——ethers.js、viem、web3.js——都可以与 BSC 配合使用。主网的链 ID 为 56,测试网为 97。

链设置一览

以下是配置钱包或 dApp 以连接 BNB 智能链所需的关键参数:

参数主网测试网
链 ID5697
网络名称BNB 智能链主网BNB 智能链测试网
原生货币BNBtBNB
区块浏览器bscscan.comtestnet.bscscan.com
公共 RPC URLhttps://bnb.api.onfinality.io/publichttps://bnb-testnet.api.onfinality.io/public

这些设置对于连接钱包、部署合约和运行脚本至关重要。

如何使用 ethers.js 连接 BNB 智能链

以下是一个使用 ethers.js 连接 BNB 智能链并读取最新区块号的简单示例:

const { ethers } = require("ethers");

const provider = new ethers.JsonRpcProvider("https://bnb.api.onfinality.io/public");

async function getBlockNumber() {
  const blockNumber = await provider.getBlockNumber();
  console.log("Latest block:", blockNumber);
}

getBlockNumber();

如需 WebSocket 支持,如果您的提供商提供 WebSocket URL,您可以使用它。OnFinality 支持 BNB 智能链上的 WebSocket;有关详细信息,请查看网络页面。

公共、托管与专用:开发人员应比较什么

当您搜索 Binance Chain API 时,您会找到公共端点、托管服务和专用节点产品。以下是它们的比较方式:

因素公共端点托管 RPC 服务专用节点
成本免费按使用量或订阅较高,可预测
速率限制严格更高,可配置无(在节点容量内)
可靠性尽力而为SLA 支持隔离资源
归档数据通常没有通常可用可选
WebSocket很少是是
最适合开发生产 dApp高吞吐量工作负载

公共端点很方便,但可能会限制您的请求。像 OnFinality 这样的托管服务在性能和易用性之间取得了平衡。专用节点让您完全控制,非常适合需要一致、高容量访问的应用程序。

使用 BNB Chain API 执行常见任务

以下是您可能使用 BNB Chain API 进行的一些常见 JSON-RPC 调用:

获取 BNB 余额

curl https://bnb.api.onfinality.io/public \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xYourAddress","latest"],"id":1}'

获取交易收据

curl https://bnb.api.onfinality.io/public \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0xTransactionHash"],"id":1}'

订阅新区块(WebSocket)

如果您有 WebSocket 端点,您可以订阅新的区块头:

const { WebSocket } = require("ws");

const ws = new WebSocket("wss://your-websocket-endpoint");

ws.on("open", () => {
  ws.send(JSON.stringify({
    jsonrpc: "2.0",
    method: "eth_subscribe",
    params: ["newHeads"],
    id: 1
  }));
});

ws.on("message", (data) => {
  console.log("New block:", JSON.parse(data));
});

常见陷阱及如何避免

  • 使用错误的链 ID: 始终仔细检查您使用的是主网的 56 还是测试网的 97。混淆它们可能导致交易失败或被发送到错误的网络。
  • 速率限制: 公共端点通常限制请求。如果您看到 429 错误,请考虑升级到托管服务或专用节点。
  • 缺少归档数据: 某些方法(如 eth_getLogs)在查询旧区块范围时需要归档节点。如果您需要历史数据,请确保您的提供商提供归档访问。
  • 不支持 WebSocket: 并非所有端点都支持 WebSocket。如果您需要实时更新,请验证您的提供商是否支持。

在 BNB Chain 测试网上测试

在部署到主网之前,请在 BNB Chain 测试网上测试您的应用程序。使用测试网 RPC 端点 https://bnb-testnet.api.onfinality.io/public 并从水龙头获取测试 BNB。链 ID 为 97。

以下是如何为测试网配置钱包:

{
  "chainId": "97",
  "chainName": "BNB Smart Chain Testnet",
  "nativeCurrency": {
    "name": "BNB Chain Native Token",
    "symbol": "tBNB",
    "decimals": 18
  },
  "rpcUrls": ["https://bnb-testnet.api.onfinality.io/public"],
  "blockExplorerUrls": ["https://testnet.bscscan.com"]
}

关键要点

  • Binance Chain API 是 BNB 智能链的 RPC 接口,BNB 智能链是一个 EVM 兼容网络。
  • 主网使用链 ID 56,测试网使用 97。
  • 公共端点适合开发,但生产应用程序应考虑托管或专用基础设施。
  • OnFinality 为 BNB 智能链提供公共、托管和专用选项。有关更多信息,请参阅 RPC 定价 和 支持的网络。
  • 在部署到主网之前,务必在测试网上进行测试。

常见问题解答

Binance Chain 和 BNB 智能链有什么区别?

Binance Chain 是用于快速交易的原生链,而 BNB 智能链是支持智能合约的 EVM 兼容链。Binance Chain API 通常指 BNB 智能链的 RPC。

我可以将以太坊工具与 BNB 智能链一起使用吗?

可以,因为 BNB 智能链与 EVM 兼容,您可以使用 ethers.js、viem、web3.js 和其他以太坊库。

如何获取测试网的测试 BNB?

您可以从水龙头获取测试 BNB。搜索“BNB testnet faucet”或查看 BNB Chain 测试网页面 获取资源。

什么是归档节点?

归档节点存储区块链的完整历史状态,允许查询旧区块的 eth_getLogs 等。托管服务通常提供归档端点,但需付费。

OnFinality 是否支持 BNB 智能链上的 WebSocket?

是的,OnFinality 支持 BNB 智能链上的 WebSocket。请查看 网络页面 获取 WebSocket URL。

RPC 知识库

相关 RPC 内容

RPC 提供商选择Ethereum

什么是以太坊RPC节点,如何选择?

以太坊RPC节点是暴露JSON-RPC API的服务器,允许应用程序读取区块链数据并发送交易。选择正确的节点——无论是自托管、共享还是专用——取决于您的吞吐量、可靠性和成本需求。本指南涵盖以太坊RPC节点的工作原理、关键评估标准以及入门实践步骤。...

区块链基础设施TON

什么是TON节点,何时应该运行一个?

TON节点是存储The Open Network区块链完整状态、验证交易并为应用程序提供数据的软件客户端。运行自己的节点可以让你直接、不受限制地访问网络,但也需要大量的运维开销。对于大多数开发者来说,使用托管RPC端点或来自OnFinality等提供商的专用节点,是一种更快、更可靠且无需维护负担的替...

网络 RPCAvalanche

Crust Network 质押:GPoS 如何运作以及质押 CRU 前需要检查什么

Crust Network 是一个基于 Substrate 的 layer-1 区块链,提供去中心化的 IPFS 存储。其 GPoS(担保权益证明)共识将质押权力与存储资源挂钩,因此验证人和担保人质押 CRU 来保护网络安全并获得奖励。本文解释了质押如何运作、在选择验证人或提供商之前需要评估什么,以...

网络 RPCMonad

关于 Monad RPC 端点,我需要了解什么?

# 关于 Monad RPC 端点,我需要了解什么? Monad RPC 端点之所以重要,是因为 Web3 应用程序依赖稳定的端点访问来进行读取、交易、仪表盘和后端工作流。正确的设置应匹配你的工作负载,支持你所需的网络和测试网,使限制可见,并在共享 RPC 不再足够时为你提供扩展路径。 对于 Mon...

网络 RPCOptimism

关于 Optimism RPC 端点,我需要了解什么?

# 关于 Optimism RPC 端点,我需要了解什么? Optimism RPC 端点之所以重要,是因为 Web3 应用依赖稳定的端点访问来进行读取、交易、仪表盘和后端工作流。正确的设置应匹配你的工作负载,支持你所需的网络和测试网,使限制可见,并在共享 RPC 不再足够时提供扩展路径。 对于 O...

网络 RPCPolygon

Polygon 公共 RPC:何时使用以及何时该升级

Polygon 公共 RPC 是一个共享的、无需认证的 HTTPS 端点,允许你在不运行自己的节点的情况下读取链上数据并发送交易。它非常适合快速测试、钱包设置和低流量脚本,但共享容量意味着你不应将其用于生产流量或严格的延迟目标。本文介绍了官方公共端点、链设置、请求示例、速率限制症状,以及何时专用或托...

永远不用担心基础设施

OnFinality 消除了 DevOps 的繁重工作,让您能够更聪明、更快地构建。

开始