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

BNB RPC 列表:你的应用应该连接哪些端点?

摘要

只有当你清楚哪种端点类型适合你的工作负载时,BNB RPC 列表才有用。本页将 BNB Smart Chain 端点分为公共、托管和专用三类,然后展示在将任何内容接入生产环境之前所需的链设置、请求格式和故障模式。

你将获得精确的主网和测试网连接详情、一个 curl 和 viem 示例,以及一条简短的评估路径,用于判断何时共享端点足够,何时专用 BNB 节点更合适。

BNB RPC 列表只是一个起点,而不是决策。你选择的端点决定了你的速率限制、是否可以查询历史状态、WebSocket 订阅是否保持打开,以及有多少工程时间花在重试上而不是产品工作上。

本页为你提供 BNB Smart Chain 主网和测试网的具体连接详情,然后介绍如何在公共端点、托管 RPC API 和专用节点之间进行选择。如果你已经知道自己想要托管或专用的 BNB 端点,请从 BNB Chain RPC 开始。

在复制 URL 之前选择你的端点类型

大多数搜索 BNB RPC 列表的开发者都在试图解决以下四种情况之一。将你的情况与下表匹配,然后直接转到该部分。

你的情况通常适合的端点类型需要注意什么
钱包配置、黑客松演示、一次性脚本公共端点共享容量,无 SLA,负载下预期会被限流
具有稳定读取流量的生产 dApp托管 RPC API按方法限制、归档可用性、故障转移
索引器、分析或回填任务具有归档访问权限的托管 RPCeth_getLogs 区块范围、历史状态深度
交易机器人、MEV 相关或高频写入专用节点一致的吞吐量、私有内存池路径、WebSocket 稳定性

如果你属于第一行,下面的公共端点就足够了。如果你属于第二到第四行,本页的其余部分将解释在你做出承诺之前需要验证什么。

BNB Smart Chain 连接设置

这些是你的钱包、SDK 或基础设施配置所需的值。链 ID 不匹配是“交易失败”报告中最常见的原因,这些报告最终被证明是网络配置问题而非合约问题。

设置主网测试网
链名称BNB Smart Chain MainnetBNB Smart Chain Testnet
链 ID5697
原生货币BNB(18 位小数)tBNB(18 位小数)
区块浏览器https://bscscan.comhttps://testnet.bscscan.com
OnFinality 公共 RPChttps://bnb.api.onfinality.io/publichttps://bnb-testnet.api.onfinality.io/public
传输HTTP, WebSocketHTTP

主网通过 OnFinality 支持 HTTP 和 WebSocket 传输。测试网仅支持 HTTP,如果你正在构建基于订阅的功能并首先针对测试网进行测试,这一点很重要。

钱包网络配置条目如下所示:

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

注意 0x38 是十六进制的 56。如果十六进制和十进制值与您指向的端点不一致,钱包将拒绝连接。

公共端点、托管 RPC 和专用节点

BNB RPC 列表通常将三种截然不同的产品混在一个标题下。它们不可互换,权衡是运营层面的,而非纯粹技术层面的。

公共端点是共享的、未经身份验证的且方便的。它们适用于开发、钱包设置和低容量读取。它们不适合作为生产应用背后的唯一端点,因为你无法控制在任何时刻获得多少共享容量。

托管 RPC API 为你提供一个经过身份验证的端点,具有定义的方法支持、归档访问选项和支持路径。这是 dApp、机器人和后端服务的常见生产选择,这些服务需要可预测的行为而无需运行基础设施。OnFinality 的 RPC API 服务 属于这一类,BNB Chain 与其他 支持的 RPC 网络 一起可用。

专用节点为你提供不与其他客户共享的容量。当你的工作负载突发性强以至于共享限制无法吸收时,当你需要一致的 WebSocket 行为时,或者当你想要一条用于交易提交的私有路径时,这一点很重要。有关如何配置,请参阅 专用节点

选项最适合主要限制
OnFinality 公共端点开发、演示、钱包配置共享容量,无承诺
OnFinality 托管 RPC API生产 dApp、后端按计划的方法和速率限制
OnFinality 专用节点高吞吐量、延迟敏感的应用成本更高,需要容量规划
自托管 BNB 节点完全控制、自定义索引同步时间、磁盘、持续的运维负担

在承诺使用端点之前需要验证什么

复制 URL 只需几秒钟。验证它需要几分钟,但可以节省数天。针对你正在考虑的任何 BNB 端点(包括我们的)运行此列表。

  • 方法覆盖。 确认端点支持你实际调用的方法。eth_calleth_getLogseth_getTransactionReceipteth_blockNumber 是基本要求。Trace 和 debug 方法并非普遍可用。
  • 归档深度。 如果你查询旧区块的状态,则需要归档访问权限。非归档节点对历史查询返回错误或空结果。
  • eth_getLogs 范围限制。 大区块范围上的日志查询是 BNB Chain 上最常见的超时来源。询问每次请求支持的范围。
  • WebSocket 行为。 如果你订阅 newHeadslogs,请确认端点保持连接打开以及如何处理空闲超时。
  • 故障转移方案。 单个端点就是单点故障。了解它降级时会发生什么。
  • 速率限制和突发行为。 了解持续限制以及是否吸收短时突发。

你现在可以运行的请求示例

从基本的健康检查开始。这确认端点可达并返回当前区块高度。

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

成功的响应返回一个十六进制区块号。如果你得到的是 JSON-RPC 错误对象,则端点可达但拒绝了请求,这通常指向方法或参数问题而非连接问题。

对于应用程序代码,viem 是一个常见选择:

import { createPublicClient, http } from 'viem';
import { bsc } from 'viem/chains';

const client = createPublicClient({
  chain: bsc,
  transport: http('https://bnb.api.onfinality.io/public')
});

const block = await client.getBlockNumber();
console.log('BNB Chain head:', block);

对于主网上通过 WebSocket 的日志订阅:

import WebSocket from 'ws';

const ws = new WebSocket('wss://bnb.api.onfinality.io/public/ws');

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

ws.on('message', (data) => console.log(JSON.parse(data.toString())));

如果你的 WebSocket 连接反复断开,这是一个信号,表明应该考虑专用容量而不是重试逻辑。

故障模式及其通常含义

大多数 BNB RPC 问题都属于少数几类。症状告诉你该往哪里看。

症状可能原因下一步
429 响应超出速率限制降低请求速率或升级到更高层级
eth_getLogs 超时区块范围太大将范围拆分为更小的窗口
旧区块返回空结果无归档访问权限使用启用归档的端点
nonce too lownonce 过时或交易竞争重新提交前重新读取待处理 nonce
WebSocket 空闲后关闭空闲超时策略添加 keepalive 或使用专用节点
钱包中链 ID 不匹配网络配置错误验证链 ID 56 与 97

与 nonce 相关的错误在 BNB Chain 上非常常见,值得单独处理。如果你反复看到 nonce too lownonce is already consumed 错误,问题通常是交易管理而非端点本身。

在生产环境中运行 BNB Chain

一旦你超越单个端点,运营问题就会改变。你不再问“哪个 URL 有效”,而是问“当这个 URL 无效时会发生什么”。

一个实用的设置使用主托管端点,辅以用于故障转移的辅助端点,以及监控错误率而不仅仅是可用性的监控。一个检查区块高度进展的简单探针比 ping 检查能捕获更多真实事件:

#!/usr/bin/env bash
HEAD=$(curl -s https://bnb.api.onfinality.io/public \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' \
  | grep -o '"result":"[^"]*"')
echo "BNB head: $HEAD"

如果头部停止前进,即使端点仍然返回 HTTP 200,它也已经降级。跟踪这一点,你就能在用户之前发现问题。

对于不想自己拥有这些的团队,OnFinality 为 BNB Chain 提供托管 RPC 和专用节点选项。容量和计划详情在 RPC 定价 页面上,网络特定详情在 BNB Chain RPC 上。

关键要点

  • BNB Smart Chain 主网使用链 ID 56,测试网使用链 ID 97。搞错这一点会在任何合约调用运行之前破坏钱包连接。
  • BNB RPC 列表混合了公共、托管和专用端点。它们解决不同的问题,不可互换。
  • 公共端点适用于开发和钱包设置。生产应用需要定义的方法支持、相关的归档访问以及故障转移计划。
  • eth_getLogs 范围限制和 WebSocket 空闲超时是 BNB Chain 上最常见的两个运营意外。
  • 监控区块高度进展,而不仅仅是 HTTP 状态。一个可达但已停止同步的端点仍然是故障。
  • 如果你的工作负载是突发性的或延迟敏感的,请评估 专用节点,而不是试图通过重试来吸收限制。

常见问题

什么是 BNB Smart Chain RPC 端点? OnFinality 的公共主网端点是 https://bnb.api.onfinality.io/public,主网支持 WebSocket。测试网使用 https://bnb-testnet.api.onfinality.io/public。对于生产工作负载,托管或专用端点通常是更好的选择。

BNB Chain 的链 ID 是什么? 主网是 56(0x38),测试网是 97(0x61)。钱包和 SDK 需要为你连接的网络使用正确的值。

我可以在生产环境中使用公共 BNB RPC 端点吗? 可以,但共享容量意味着你的吞吐量取决于任何给定时刻的其他用户。一旦流量变得可预测,大多数生产团队会转向托管 RPC API 或专用节点。

为什么 eth_getLogs 在 BNB Chain 上超时? BNB Chain 出块速度快,因此一个宽泛的区块范围可能包含大量日志。将查询拆分为更小的范围,并使用具有适当限制的端点,可以解决大多数此类超时。

我需要为 BNB Chain 使用归档节点吗? 仅当你查询旧区块的历史状态或日志时才需要。标准节点提供最近状态;归档访问是一项单独的能力,在依赖它之前应确认。

如何在 BNB RPC 端点之间进行故障转移? 在客户端配置主端点和辅助端点,并在重复错误或区块高度停滞时触发故障转移,而不是在单个请求失败时。监控区块进展比仅检查 HTTP 状态更可靠。

RPC 知识库

相关 RPC 内容

RPC 提供商选择Solana

在租用专用 Solana 节点之前,您应该评估哪些方面?

专用 Solana 节点为您提供具有隔离资源的私有 RPC 端点,这有助于那些超出共享速率限制或需要自定义节点配置的团队。本文解释了专用节点实际改变了什么、何时值得付出成本,以及如何比较提供商而不会为不需要的功能多付钱。...

测试网 RPCEthereumBase

Base Sepolia RPC 端点:链设置、水龙头与调试

Base Sepolia 是基于 OP Stack 构建的 Base L2 网络的测试网,使用 Sepolia ETH。本页面提供官方 RPC 端点、链配置、水龙头链接以及开发者在 Base Sepolia 上测试 dapp 时的常见故障排除技巧。...

网络 RPCPolygon

什么是 Polygon 最终性,它如何影响您的 dApp?

Polygon 最终性是指交易在 Polygon PoS 链上变得不可逆转的时刻。随着 Heimdall v2 升级,最终性现在大约在 5 秒内实现,而之前需要 1-2 分钟,这使得网络更适合支付和实时应用。对于开发者来说,理解最终性对于设计用户体验、处理重组以及选择合适的 RPC 基础设施来监控最...

RPC 提供商选择Ethereum

2026年最新网络升级的最佳以太坊RPC是什么?

以太坊的快速演进——从Dencun(EIP-4844 blob)到未来的Pectra和Verkle升级——要求RPC提供商跟上协议变化的步伐。最佳以太坊RPC应能立即支持新的JSON-RPC方法、更新的状态格式,并在硬分叉期间保持向后兼容。本指南将说明如何评估提供商的升级就绪性。...

RPC 提供商选择zkSync

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

选择 zkSync RPC 提供商意味着在可靠性、吞吐量和 zkSync 特定功能之间取得平衡。本指南介绍了在选择提供商时应注意的事项,比较了公共、共享和专用选项,并帮助您决定哪种适合您的工作负载。我们涵盖了链设置、关键 RPC 方法以及在使用 ZKsync 构建时需避免的常见陷阱。...

网络 RPCPolkadot

Polkadot 网络迁移:有哪些变化以及如何影响您的 RPC 端点?

Polkadot 资产中心迁移(AHM)将核心网络功能——余额、质押和治理——从中继链迁移到了资产中心系统平行链。对于 RPC 用户来说,这意味着端点现在必须指向资产中心以获取链上用户数据,而中继链仍然是共识和跨链消息的入口点。开发者应确认其 RPC 提供商同时支持中继链和资产中心端点,以避免中断。...

永远不用担心基础设施

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

开始