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

BNB Chain RPC:2026 年的端点、设置和速率限制

摘要

BNB Chain(BNB Smart Chain)提供标准的 EVM JSON-RPC 接口,因此大多数与以太坊兼容的工具只需更改链 ID、RPC URL 和符号即可在此使用。本页面涵盖主网和测试网的链设置、如何将端点接入钱包和库,以及需要规划的速率限制和工作负载模式。

将其作为工作参考:复制链设置,使用 curl 测试请求,然后决定共享公共端点、托管 RPC API 还是专用节点更适合您的流量。如果您需要比公共端点允许的更多余量,OnFinality 提供 BNB Chain RPC API 访问和专用节点基础设施。

BNB Chain(BNB Smart Chain)是一个 EVM 兼容网络,这意味着其 RPC 接口与您已经用于以太坊的 JSON-RPC 接口相同。实际工作不是学习新的 API——而是正确设置链参数、将端点接入钱包或库,并了解速率限制和请求模式如何随着流量增长影响可靠性。

本参考涵盖主网和测试网设置、可用的设置路径,以及从快速测试转向生产流量时重要的限制和工作负载问题。

您应该从哪个 BNB Chain 端点开始?

根据您当前正在做的事情选择起点,而不是根据以后可能做的事情。

您的情况合理的起点原因
阅读文档、测试脚本、一次性查询公共 RPC 端点无需注册,适合低流量和手动测试
具有稳定流量的 dApp、机器人或后端托管 RPC API可预测的访问、更好的余量、监控和支持
大量 eth_getLogs、归档查询或持续吞吐量专用节点隔离容量,无共享池的噪声邻居影响
需要大规模 WebSocket 订阅支持 WS 的托管或专用公共端点通常限制或节流订阅

如果您仍在探索,请从公共端点开始,一旦遇到第一个速率限制或超时就继续前进。如果您已经知道将运行生产流量,请跳过公共层并尽早评估托管 RPC API——以后迁移比一开始就选择好要花费更多时间。

有关更广泛的框架,请参阅如何选择 RPC 提供商。

BNB Chain 网络设置一览

这些是您粘贴到钱包、.env 文件或框架配置中的值。将主网和测试网分开——混合它们是最常见的设置错误之一。

设置BNB Smart Chain 主网BNB Smart Chain 测试网
链 ID5697
原生货币BNB(18 位小数)tBNB(18 位小数)
区块浏览器https://bscscan.comhttps://testnet.bscscan.com
传输HTTP 和 WebSocketHTTP
典型用途生产 dApp、机器人、索引器开发、暂存、水龙头测试

OnFinality 为两个网络提供公共端点:

  • 主网:https://bnb.api.onfinality.io/public
  • 测试网:https://bnb-testnet.api.onfinality.io/public

这些是共享公共端点,因此将其视为起点而非生产保证。有关更高限制的托管访问,请参阅 BNB Chain RPC 和 BNB Chain 测试网 RPC。

将 BNB Chain 添加到钱包

大多数 EVM 钱包接受自定义网络。字段直接映射到上面的设置:

{
  "chainId": "0x38",
  "chainName": "BNB Smart Chain Mainnet",
  "nativeCurrency": {
    "name": "BNB Chain Native Token",
    "symbol": "BNB",
    "decimals": 18
  },
  "rpcUrls": ["https://bnb.api.onfinality.io/public"],
  "blockExplorerUrls": ["https://bscscan.com"]
}

请注意,钱包配置中的 chainId 是十六进制:十进制 56 是 0x38,十进制 97 是 0x61。如果钱包拒绝您的网络,通常原因是十六进制链 ID 错误。

使用 curl 测试端点

在将任何内容接入应用程序之前,确认端点响应并报告您期望的链:

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

正确的主网响应返回 0x38。要检查节点是否已同步,调用 eth_blockNumber 并与区块浏览器比较:

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

如果 eth_chainId 返回错误值,则您指向了错误的网络。如果 eth_blockNumber 远远落后于浏览器,节点可能正在追赶或端点可能已降级。

将 BNB Chain 接入 JavaScript

使用 ethers 或 viem,一旦有了端点,设置只需更改一行:

import { JsonRpcProvider } from "ethers";

const provider = new JsonRpcProvider(
  "https://bnb.api.onfinality.io/public",
  { chainId: 56, name: "bnb" }
);

const block = await provider.getBlockNumber();
console.log("Latest BNB Chain block:", block);

对于测试网,将 URL 替换为 https://bnb-testnet.api.onfinality.io/public 并设置 chainId: 97。将这些值保存在环境变量中,而不是硬编码,以便无需重新部署即可轮换端点。

速率限制如何实际影响 BNB Chain 应用

速率限制通常表示为每秒或每分钟的请求数,但仅凭数字并不能说明端点是否能承受。重要的是您的工作负载如何映射到这些限制。

  • 方法权重。 像 eth_blockNumber 和 eth_chainId 这样的廉价调用消耗的容量远少于 eth_getLogs、针对复杂合约的 eth_call 或跟踪方法。对于区块轮询来说感觉宽松的限制在日志查询下可能很快消失。
  • 突发与持续。 许多提供商允许短暂突发超过持续速率。一个在一秒内发出 200 个请求然后空闲的机器人与一个永远每秒发送 20 个请求的机器人行为非常不同。
  • 共享与隔离。 公共和共享端点在所有用户之间池化容量,因此当池繁忙时,您的有效吞吐量可能会下降。专用节点消除了这种可变性。
  • 负载大小。 大的 eth_getLogs 范围返回大响应。一些提供商无论请求数量如何都限制结果大小或区块范围。

一种实用的规划方法:测量您的真实请求组合,而不是猜测。记录一天的方法名称和计数,然后根据最重的方法而不是平均值来确定端点大小。

将工作负载匹配到端点类型

工作负载模式什么给端点带来压力适合的端点类型
钱包或仪表板读取余额低流量,偶尔 eth_call公共或共享托管
交易机器人轮询区块和内存池持续请求速率,低延迟托管 RPC API
索引器扫描事件日志大的 eth_getLogs 范围,归档数据具有归档访问权限的专用节点
具有 WebSocket 订阅的 dApp持久连接,事件扇出支持 WS 的托管或专用
暂存和 CI 测试运行突发、不可预测测试网端点,与生产分开

如果此表中的行落在“专用”,则决策更多是关于隔离和可预测容量,而不是速率限制。有关该模型的工作原理,请参阅专用节点。

常见设置和限制问题

链 ID 错误。 配置为 0x1(以太坊)而不是 0x38 的钱包或库将连接但返回令人困惑的结果。始终使用 eth_chainId 验证。

生产中的测试网密钥。 测试网 tBNB 没有价值。如果部署静默指向链 97,交易将看似成功但永远不会在主网上结算。

eth_getLogs 范围太宽。 许多端点拒绝或截断非常大的区块范围。将查询拆分为更小的窗口并分页。

负载下的 429 响应。 429 Too Many Requests 突然激增通常意味着突发流量超出了计划。添加带退避的重试,如果反复出现,考虑更高层级或专用节点。

WebSocket 断开。 长期订阅可能被中间人关闭。实现重连逻辑并在重连时重新订阅,而不是假设套接字保持打开。

区块高度陈旧。 如果 eth_blockNumber 停止前进,端点可能正在重新同步。故障转移到第二个端点,而不是重试同一个。

在生产中运行 BNB Chain RPC

一旦完成设置,操作问题就会改变。三件事最重要:

  1. 故障转移。 配置至少两个端点,并在错误或延迟时切换。无论提供商如何,单个端点都是单点故障。
  2. 监控。 跟踪请求成功率、延迟百分位数和区块高度延迟。在用户注意到之前对延迟发出警报。
  3. 容量规划。 在每次主要功能发布后重新测量您的请求组合。日志密集型功能比用户增长更能改变您的配置文件。

OnFinality 为需要比公共端点更可预测容量的团队提供 BNB Chain RPC API 访问和专用节点基础设施。在 RPC 定价 上比较选项,如果您跨多个链运行,请查看支持的 RPC 网络。

关键要点

  • BNB Smart Chain 使用链 ID 56(主网)和 97(测试网),具有标准的 EVM JSON-RPC 方法。
  • 公共端点适合测试;生产流量需要可预测的限制和故障转移。
  • 速率限制取决于方法权重和突发模式,而不仅仅是每秒请求数。
  • eth_getLogs 和归档查询是限制和超时问题的最常见来源。
  • 在调试其他任何内容之前,验证链 ID 和区块高度。
  • 托管 RPC API 和专用节点以成本换取隔离和余量。

常见问题

BNB Chain 主网 RPC URL 是什么? OnFinality 的公共主网端点是 https://bnb.api.onfinality.io/public。有关托管访问,请参阅 BNB Chain 网络页面。

BNB Smart Chain 使用什么链 ID? 主网为 56(十六进制 0x38),测试网为 97(十六进制 0x61)。

BNB Chain RPC 支持 WebSocket 吗? 主网支持 HTTP 和 WebSocket 传输。检查具体端点和计划,因为公共端点可能限制订阅。

为什么我会收到 429 错误? 您可能超出了突发或持续速率限制。添加带退避的重试,降低请求频率,或迁移到更高层级或专用节点。

我可以对测试网和主网使用同一个端点吗? 不可以。它们是具有不同链 ID 和端点的独立网络。将它们保存在单独的配置中。

如何知道端点是否已同步? 调用 eth_blockNumber 并与区块浏览器比较。大的差距表明节点正在追赶或已降级。

RPC 知识库

相关 RPC 内容

网络 RPCBNB Chain

如何查找和配置 BNB Smart Chain 端点?

BNB Smart Chain(BSC)公开了 JSON-RPC 端点,用于读取区块链数据和发送交易。mainnet 端点是 https://bsc-dataseed.bnbchain.org,chain ID 为 56;testnet 端点使用 chain ID 97。公共端点适合原型开发,但存在...

网络 RPCTON

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

# 什么是 TON RPC,如何使用它? TON(The Open Network)是一个为高可扩展性和与 Telegram 深度集成而设计的 layer-1 区块链。与 EVM 链不同,TON 采用独特的分片和异步智能合约架构。要从 Web 应用程序与 TON 交互,需要一个 RPC(远程过程调用...

网络 RPCSORA

什么是 SORA 网络?如何连接它?

SORA 网络是一个去中心化的区块链平台,专注于创建一个主权经济系统。它使用 XOR 代币和代币绑定曲线来管理供应,并支持民主治理和跨链互操作性。开发者可以使用基于 Substrate 的链在 SORA 上构建,并使用 Polkaswap 等工具进行 DeFi 操作。要与网络交互,你需要一个可靠的 ...

RPC 提供商选择Kaia

如何为生产应用选择 Kaia RPC 提供商

选择 Kaia RPC 提供商意味着在可靠性、延迟、数据访问和定价之间取得平衡,以适应您的应用流量模式。公共端点适合原型开发,但生产应用通常需要具有更高速率限制、WebSocket 支持和归档数据的托管提供商。本指南将介绍关键标准和常见陷阱,帮助您选择不会在负载下崩溃的基础设施。...

网络 RPCArbitrum

Arbitrum 端点:链设置、RPC URL 和调试

本页介绍什么是 Arbitrum 端点、如何连接到 Arbitrum One 和 Arbitrum Sepolia,以及如何在公共 RPC、专用节点和 API 服务之间进行选择。它涵盖了链设置、请求示例和常见故障模式,以便您可以自信地配置您的 dApp 或后端。...

网络 RPCOptimism

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

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

永远不用担心基础设施

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

开始