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

BNB Smart Chain 应该使用什么 RPC URL?

摘要

BNB Smart Chain 主网的 RPC URL 是 https://bnb.api.onfinality.io/public,链 ID 为 56,原生代币为 BNB。测试网请使用 https://bnb-testnet.api.onfinality.io/public,链 ID 为 97,代币为 tBNB。本文介绍如何将网络添加到钱包、调用 JSON-RPC 方法,以及如何判断何时公共端点足够,何时需要专用节点基础设施。

如果你正在将钱包、脚本或后端服务连接到 BNB Smart Chain,首先需要一个可用的 RPC URL。本页提供确切的端点、必须与之匹配的链设置,以及一种实用的方法来判断公共端点是否足够,或者你的工作负载是否需要专用节点基础设施。

端点与链设置概览

这种查询失败最常见的原因是 RPC URL 与链 ID 不匹配。BNB Smart Chain 主网和测试网是不同的网络,具有不同的 ID、不同的原生代币和不同的区块浏览器。混用它们会产生令人困惑的错误,例如交易永远无法确认或余额显示为空。

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

使用主网行用于真实资金和生产流量。在开发时使用测试网行,并记住测试网代币没有价值,必须从水龙头获取。

哪种端点适合你的工作负载

在将 URL 复制到配置文件之前,先确定你要发送的流量类型。正确的选择更多地取决于你的访问模式,而不是链本身。

  • 一次性脚本和本地开发。 公共端点通常没问题。你发送少量请求,不需要吞吐量保证。
  • 钱包和小型 dApp。 共享公共端点可以处理轻量读取流量,但你应该为用户数量增长、请求开始竞争容量做好准备。
  • 索引器、机器人和轮询区块或日志的后端。 这些工作负载发送稳定、高容量的请求,通常需要归档数据。这时托管 RPC API 或专用节点成为合理默认选择。
  • 交易和延迟敏感的服务。 如果你的应用对新块或待处理交易做出反应,你需要可预测的访问和 WebSocket 支持,而不是尽力而为的公共 URL。

如果不确定,先从公共端点开始验证集成,然后在向真实用户发布之前转向托管或专用方案。你可以在 RPC 定价页面 比较选项,并查看完整的 支持的 RPC 网络 列表。

将 BNB Smart Chain 添加到钱包

大多数钱包接受自定义网络。字段直接对应上面的设置表。在 MetaMask 风格的钱包中,打开网络选择器,选择“添加网络”或“手动添加网络”,然后填写:

  • 网络名称:BNB Smart Chain
  • 新的 RPC URL:https://bnb.api.onfinality.io/public
  • 链 ID:56
  • 货币符号:BNB
  • 区块浏览器 URL:https://bscscan.com

如果钱包拒绝该网络,通常原因是链 ID 与 RPC URL 不匹配,或者 URL 字段中粘贴了尾随空格。重新复制端点并重试。

通过 JSON-RPC 调用 BNB Smart Chain

BNB Smart Chain 兼容 EVM,因此 JSON-RPC 接口与你从以太坊了解的一致。确认端点是否活跃的快速方法是请求链 ID 和最新区块号。

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

健康的响应会以十六进制返回链 ID,因此主网返回 0x38(十进制 56)。要检查你是否跟随链头,请求最新区块:

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

在 JavaScript 中,使用普通 fetch 调用进行同样的检查如下所示,这在添加库之前验证端点时很有用:

const RPC_URL = "https://bnb.api.onfinality.io/public";

async function checkEndpoint() {
  const res = await fetch(RPC_URL, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      jsonrpc: "2.0",
      id: 1,
      method: "eth_getBalance",
      params: ["0x0000000000000000000000000000000000000000", "latest"]
    })
  });
  const data = await res.json();
  console.log("balance:", data.result);
}

checkEndpoint();

对于 ethers 或 viem 等库,你将相同的 URL 作为传输层传递。端点不会在原始 JSON-RPC 和库之间改变;只有调用约定不同。

无意外地读取日志和历史记录

两种请求类型导致大多数 BNB Smart Chain 集成问题:日志查询和历史状态读取。

eth_getLogs 允许你在区块范围内拉取合约的事件。公共端点通常会限制该范围的宽度,因为非常大的范围服务成本很高。如果你的查询返回范围过大的错误,请缩小范围并分页。如果你经常需要宽范围,这表明你的工作负载应使用托管或专用方案,而不是共享公共 URL。

历史读取,例如查询旧区块的余额,需要归档数据。标准节点保留近期状态并修剪较旧状态,因此即使端点健康,对很久以前的区块的请求也可能失败。如果你的应用需要深度历史,请在承诺使用提供商之前确认归档支持。

当公共端点不再足够时

公共 RPC URL 是共享资源。它非常适合入门和低容量读取,但并非设计用于吸收你的生产流量。超出其能力的症状一致且容易识别:

  • 在繁忙时段请求间歇性超时。
  • 恰好在用户最活跃时触及速率限制。
  • 日志查询因区块范围过宽而失败。
  • 你需要 WebSocket 订阅以获取实时更新。
  • 你需要共享端点不暴露的归档或追踪数据。

当你看到这些时,解决办法不是换一个公共 URL,而是专用容量。OnFinality 提供 RPC API 访问和专用节点基础设施,因此你可以从共享端点迁移到匹配你请求量和数据需求的方案。专用节点为你的流量提供自己的资源,从而消除共享端点上的争用。你可以在 专用节点页面 阅读更多关于该选项的信息。

简短的迁移清单

从公共 URL 迁移到托管或专用访问主要是配置更改,但有几个步骤可以防止停机:

  1. 在新端点与旧端点并行运行。
  2. 将一小部分流量指向新端点并比较响应。
  3. 确认你依赖的方法受支持,包括任何归档或 WebSocket 需求。
  4. 添加备用端点,以便单个提供商问题不会导致你离线。
  5. 在切换前后监控错误率和延迟。
  6. 一旦新端点稳定,停用公共 URL。

保留备用端点值得付出额外的努力。即使运行良好的端点也能从第二条路径中受益,而且在事件发生前添加故障转移逻辑比在事件期间容易得多。

常见故障模式及如何解读

症状可能原因如何处理
交易永远无法确认链 ID 错误或网络错误验证链 ID 56 和主网 RPC URL
余额显示为零指向测试网,或地址校验和错误切换到主网端点并重新检查地址
eth_getLogs 范围错误区块范围对共享端点来说太宽缩小范围并分页,或迁移到专用方案
旧区块读取失败端点上没有归档数据与提供商确认归档支持
间歇性超时共享容量在负载下不足迁移到托管或专用容量
WebSocket 断开连接传输协议不支持或不稳定确认 WebSocket 支持并添加重连逻辑

大多数是配置问题而非链问题。仔细阅读错误消息通常能直接指出修复方法。

关键要点

  • BNB Smart Chain 主网 RPC URL 是 https://bnb.api.onfinality.io/public,链 ID 为 56,原生代币为 BNB。
  • 测试网 RPC URL 是 https://bnb-testnet.api.onfinality.io/public,链 ID 为 97,代币为 tBNB。
  • 始终将 RPC URL 与正确的链 ID 匹配;不匹配会导致最常见的集成错误。
  • 公共端点适合开发和轻量读取;高容量、归档或 WebSocket 工作负载应使用托管或专用基础设施。
  • 保留备用端点,并在任何迁移前后监控错误率。

常见问题

BNB Smart Chain 的 RPC URL 是什么? 主网端点是 https://bnb.api.onfinality.io/public。它支持 HTTP 和 WebSocket 传输,并使用链 ID 56。

BNB Smart Chain 的链 ID 是什么? 主网使用链 ID 56。测试网使用链 ID 97。链 ID 必须与你配置的 RPC URL 匹配。

BNB 测试网 RPC URL 是什么? 使用 https://bnb-testnet.api.onfinality.io/public,链 ID 为 97,代币为 tBNB。测试网代币来自水龙头,没有价值。

我可以在生产环境中使用公共 RPC URL 吗? 可以,但共享公共端点并非为持续高容量流量而构建。如果你看到超时、速率限制或日志范围错误,请迁移到托管或专用方案。

BNB Smart Chain 支持 WebSocket 吗? 是的。主网端点支持 WebSocket 传输,这对于订阅和实时更新很有用。确认你采用的任何端点的传输支持。

为什么我的余额显示为零? 最常见的原因是指向测试网而不是主网,或使用校验和错误的地址。验证端点和地址格式。

后续步骤

首先针对公共端点验证你的集成,然后决定你的流量模式是否需要更多。如果你发送稳定的区块或日志查询、运行机器人或为真实用户服务,请查看 RPC 定价 比较方案,并查看 BNB Smart Chain 网络页面 了解端点详情。如果你需要自己的资源,专用节点 可以消除共享 URL 的争用。对于 OnFinality 支持的其他所有内容,请浏览完整的 支持的 RPC 网络 列表。

RPC 知识库

相关 RPC 内容

RPC 提供商选择

Chainstack vs Other RPC Providers: What to Evaluate Before Choosing

A practical comparison guide for developers evaluating Chainstack against other RPC providers. Covers key criteria including pricing models, network s...

网络 RPCOptimism

选择 Optimism RPC 提供商时应该关注什么?

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

RPC 提供商选择

您能否为Web3团队推荐一种灵活且经济高效的RPC解决方案?

为从原型扩展到生产的Web3团队选择兼顾灵活性和成本的RPC提供商至关重要。本文概述了需要评估的关键因素——定价模型、功能集、网络覆盖和支持——并提供了一个决策框架,帮助您选择适合工作负载且不会过度支付的解决方案。...

网络 RPCAstar

Astar zkEVM RPC:如何连接和配置您的 dApp

Astar zkEVM 是一个基于以太坊的 Layer 2 解决方案,将 Astar 生态系统引入零知识 rollup。本文介绍如何使用正确的 RPC 端点、链 ID 和配置将您的 dApp 连接到 Astar zkEVM,以及如何为生产环境选择可靠的 RPC 提供商。...

RPC 提供商选择Solana

在流行的 Solana RPC 提供商中,使用层级如何比较?

Solana RPC 使用层级通常分为三类:共享吞吐量且无 SLA 的公共端点、具有每月请求或计算单元配额的共享托管层级,以及具有预留容量和私有端点的专用节点。正确的层级取决于您的请求组合、是否需要 WebSocket 订阅或归档数据,以及您的应用在调用开始失败之前能吸收多少流量变化。 本比较详细说...

网络 RPCUnichain

什么是 Unichain 端点,我如何连接到它?

Unichain 是一个基于 OP Stack 构建的以太坊 Layer 2 网络,专为快速且低成本的 DeFi 交易而设计。要与它交互,你需要一个 RPC 端点——可以是用于测试的公共端点,也可以是用于生产工作负载的私有专用端点。本指南涵盖链设置、连接示例以及如何选择合适的基础设施。...

永远不用担心基础设施

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

开始