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 内容

网络 RPCStellar

什么是 Stellar RPC,如何使用它?

# 什么是 Stellar RPC,如何使用它? Stellar RPC(远程过程调用)是与 Stellar 区块链网络交互的标准接口。它允许开发者以编程方式查询账本数据、提交交易和管理账户。Stellar 的 RPC API 与兼容以太坊的 JSON-RPC 不同;它使用基于 RESTful 原则...

RPC 提供商选择

对于区块链项目,最好的 JSON-RPC API 提供商是什么?

选择 JSON-RPC API 提供商是任何区块链项目关键的基础设施决策。最好的提供商取决于您的具体工作负载、链要求和预算。本文概述了关键的评估标准——从方法支持和数据访问到定价模型和故障转移策略——以帮助您做出明智的选择。...

网络 RPCAsset Hub

什么是 Asset Hub,如何连接它?

Asset Hub 是 Polkadot 和 Kusama 上的一个系统平行链,用于承载同质化代币、NFT 和其他数字资产。它提供了一个专门的环境,用于以低费用和高吞吐量创建、管理和转移资产。本文解释了什么是 Asset Hub,如何将您的 dApp 连接到它,以及如何为您的用例选择合适的 RPC ...

RPC 提供商选择Solana

顶级 Solana RPC 提供商的速率限制选项如何比较?

Solana RPC 提供商在实施速率限制方面有所不同:有些按 IP 限制每秒请求数,有些按计算单元或积分计量,高级套餐提供更高吞吐量或专用节点。本文比较了主要提供商的速率限制模型,并帮助您为工作负载选择合适的方案。...

网络 RPCFantom

Fantom API: Methods, Endpoints, and How to Start Building

The Fantom API provides JSON-RPC methods for interacting with the Fantom Opera blockchain, covering balances, transactions, event logs, gas estimation...

网络 RPCArbitrum

Arbitrum RPC 列表:如何为你的应用选择合适的端点

本文介绍了不同类型的 Arbitrum RPC 端点——公共、托管和专用——以及如何为你的应用选择合适的端点。内容涵盖链设置、常见用例,以及如何根据可靠性、可扩展性和支持来评估提供商。...

永远不用担心基础设施

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

开始