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

BNB Smart Chain 测试网 RPC 和链设置:如何连接?

摘要

BNB Smart Chain 测试网(链 ID 97)使用 tBNB 作为其原生货币,是在主网之前测试 BSC 合约、钱包和索引器的标准环境。您需要正确的 RPC URL、链 ID、符号和浏览器 URL,才能将其添加到钱包或让开发框架指向它。

本参考涵盖了确切的链设置、可用于入门的公共端点、钱包和代码配置示例、水龙头和调试说明,以及共享公共端点不再适合您工作负载的临界点。

链设置一览

如果您只需要将这些值粘贴到钱包或配置文件中,它们就在这里。BNB Smart Chain 测试网是 BSC 测试环境,它足够接近地镜像主网行为,以便在部署到生产环境之前验证合约、钱包、索引器和机器人。

设置值
网络名称BNB Smart Chain Testnet
链 ID97
原生货币tBNB
小数位18
区块浏览器https://testnet.bscscan.com
公共 RPC 端点https://bnb-testnet.api.onfinality.io/public
传输HTTP JSON-RPC

在进一步操作之前,快速检查一下:主网 BSC 使用链 ID 56 和 BNB 符号,而测试网使用链 ID 97 和 tBNB。混淆这两者是最常见的“错误网络”错误、余额为空以及交易看似成功但从未出现在预期位置的原因。

公共测试网端点何时足够,何时不够

上面的公共端点适合学习、快速脚本和低容量 CI 运行。它并不是所有工作负载的长期正确选择。使用以下内容来决定下一步该做什么。

  • 本地开发和一次性脚本: 公共端点通常足够。您每分钟发送少量请求,不关心共享吞吐量。
  • 在每个拉取请求上运行的 CI 管道: 共享端点在负载下可能会受到速率限制或变慢,从而导致测试不稳定。考虑使用专用端点,以便测试运行与其他流量隔离。
  • 索引器、子图和回填作业: 这些会发出大型 eth_getLogs 范围和存档式查询。公共端点通常会限制范围大小或区块历史。具有存档访问权限的专用节点是更安全的选择。
  • 交易机器人和负载测试: 如果您正在针对测试网模拟生产流量,您需要可预测的吞吐量和自己的连接预算。共享公共端点并非为此设计。
  • 钱包和 dApp QA: 公共端点适合手动测试,但如果您的 QA 团队运行并行会话,专用端点可以避免一个测试人员占用另一个测试人员的资源。

如果上述后四项中的任何一项适用,请在围绕共享端点构建之前查看专用节点和RPC 定价。有关端点类型的更广泛比较,请参阅如何选择 RPC 提供商。

将 BNB Smart Chain 测试网添加到钱包

大多数 EVM 钱包接受相同的字段。在 MetaMask 中,打开网络选择器,选择“添加网络”或“手动添加网络”,然后输入上表中的值。钱包将针对 RPC URL 调用 eth_chainId,以确认在保存之前返回 0x61(十进制 97)。

如果您以编程方式配置钱包,标准的 wallet_addEthereumChain 负载如下所示:

{
  "method": "wallet_addEthereumChain",
  "params": [
    {
      "chainId": "0x61",
      "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"]
    }
  ]
}

请注意,这里的 chainId 是十六进制编码的(0x61),而大多数配置文件和仪表板期望十进制 97。两者都指同一个网络;只有当工具静默期望一种格式时,不匹配才会产生影响。

将端点接入代码

对于 JavaScript 和 TypeScript 项目,将客户端指向测试网端点并传递链 ID 97。使用 viem:

import { createPublicClient, http } from 'viem'
import { bscTestnet } from 'viem/chains'

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

const blockNumber = await client.getBlockNumber()
console.log('BSC testnet head:', blockNumber)

使用 ethers v6:

import { JsonRpcProvider } from 'ethers'

const provider = new JsonRpcProvider(
  'https://bnb-testnet.api.onfinality.io/public',
  { chainId: 97, name: 'bnb-testnet' }
)

const network = await provider.getNetwork()
console.log('chainId:', network.chainId.toString())

对于不使用任何库的原始检查,单个 curl 请求就足以确认端点正在响应并且位于正确的链上:

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

响应应为 {"jsonrpc":"2.0","id":1,"result":"0x61"}。如果您得到不同的链 ID,则说明您指向了错误的网络。如果出现传输错误,则说明从您的环境无法访问该端点——在调试合约代码之前,请检查防火墙规则、VPN 和出站 HTTPS。

获取 tBNB 并测试真实流程

测试网 BNB(tBNB)没有货币价值,通过水龙头分发。水龙头政策会变化,因此将任何特定水龙头视为起点而非永久依赖:搜索当前的 BSC 测试网水龙头,连接钱包,并请求少量金额。一些水龙头要求最低主网余额或社交登录以减少滥用。

一旦您有了 tBNB,有用的测试流程是:

  1. 部署合约,并通过您将在生产环境中使用的同一 RPC 端点读回它。
  2. 发送转账并观察它在 testnet.bscscan.com 上确认。
  3. 触发应用程序中事件密集的路径,并确认您的索引器或监听器捕获它们。
  4. 在测试网上运行错误路径——回滚、gas 不足、nonce 冲突——在它们发生在主网之前。

如果您的应用依赖 WebSocket 订阅,请确认您的端点是否支持它们。上面的公共 HTTP 端点是 HTTP JSON-RPC;对于订阅式工作负载,请查看 BNB Chain 测试网网络页面和 BNB Chain 主网页面以获取当前传输详情,如果您需要持久 WebSocket 连接,请考虑使用专用节点。

调试您实际会遇到的错误

症状可能原因检查内容
钱包中显示“错误网络”链 ID 不匹配钱包在 56(主网)或其他链上;切换到 97
水龙头后余额为零地址错误或网络错误在 testnet.bscscan.com 上确认地址,而不是 bscscan.com
eth_getLogs 返回范围错误范围对于端点来说太大减少区块范围或迁移到专用/存档节点
交易卡在待处理状态gas 价格对于当前测试网条件来说太低重新估算 gas;测试网拥堵情况各不相同
nonce too low 或 nonce is already consumed本地 nonce 跟踪不同步在钱包或客户端中重置账户 nonce
负载下请求超时共享端点限流将繁重或并行工作负载移至专用端点
合约调用仅在测试网上回滚测试网状态与主网不同验证构造函数参数、预言机地址以及任何仅主网的依赖项

一个有用的习惯:当出现故障时,首先针对您的端点运行 eth_chainId 和 eth_blockNumber。这可以告诉您问题是连接/网络选择还是应用程序逻辑,而且只需几秒钟。

从测试网迁移到主网而不出意外

测试网和主网共享相同的 EVM 语义,但不共享相同的状态、地址或经济模型。在切换之前,请完成以下检查清单:

  • 在配置中将链 ID 97 替换为 56,将 tBNB 替换为 BNB。
  • 将测试网合约地址替换为主网部署;不要假设存在相同的地址。
  • 重新检查 gas 假设——主网 gas 市场的行为与测试网不同。
  • 确认主网的 RPC 端点和传输;请参阅 BNB Chain 网络页面。
  • 在真实流量到达之前,针对主网端点重新运行监控和警报。

如果您希望在两个环境中使用相同的提供商和工具,OnFinality 通过相同的 RPC API 服务提供 BNB Chain 测试网和主网端点,因此您可以保持集成代码相同,只需更改 URL 和链 ID。完整的环境列表在支持的 RPC 网络页面上。

关键要点

  • BNB Smart Chain 测试网使用链 ID 97、符号 tBNB 和浏览器 testnet.bscscan.com。
  • 公共端点 https://bnb-testnet.api.onfinality.io/public 足以用于学习和轻量脚本,但共享端点并非为繁重或并行工作负载而构建。
  • 在调试应用程序代码之前,始终使用 eth_chainId 验证链 ID。
  • 水龙头可用性会变化;将任何水龙头视为起点,并在测试网浏览器上确认余额。
  • 对于索引器、机器人、CI 和负载测试,请评估专用节点和RPC 定价,而不是拉伸公共端点。
  • 保持测试网和主网配置分开,并在升级到主网时重新验证地址、gas 和端点。

常见问题解答

BNB Smart Chain 测试网的链 ID 是什么?

BNB Smart Chain 测试网使用链 ID 97(十六进制 0x61)。主网 BSC 使用链 ID 56。使用错误的链 ID 是“错误网络”和余额为空混淆的最常见原因。

BNB Smart Chain 测试网的 RPC URL 是什么?

一个公共 HTTP JSON-RPC 端点是 https://bnb-testnet.api.onfinality.io/public。如果您需要隔离的吞吐量或存档访问,您也可以运行自己的节点或使用专用端点。

BSC 测试网上的原生代币是什么?

原生货币是 tBNB,有 18 位小数。它没有货币价值,从测试网水龙头获取。

公共端点支持 WebSocket 订阅吗?

此处显示的公共端点是 HTTP JSON-RPC。如果您的应用程序依赖 WebSocket 订阅,请查看 BNB Chain 测试网网络页面以获取当前传输支持,并考虑使用专用节点进行持久连接。

为什么 eth_getLogs 在测试网上失败?

大区块范围通常会被共享端点拒绝。减少范围、对查询进行分页,或迁移到可以处理更宽范围的专用或存档节点。

我可以对测试网和主网使用相同的代码吗?

可以,如果您将链 ID、RPC URL 和合约地址保留在配置中。EVM 行为相同;状态、地址和经济模型不同。OnFinality 提供 BNB Chain 测试网和 BNB Chain端点,因此集成模式保持一致。

RPC 知识库

相关 RPC 内容

网络 RPCAvalanche

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

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

RPC 提供商选择Solana

具有企业级支持的 Solana RPC 提供商:评估要点

为生产工作负载选择 Solana RPC 提供商时,需要评估的不仅仅是原始吞吐量。企业级支持意味着拥有明确的 SLA、专用容量和响应迅速的升级路径。本文概述了关键标准——从端点可靠性到故障转移策略——并解释了如何针对您的特定用例评估提供商。...

RPC 提供商选择Optimism

How to Evaluate Optimism RPC Providers for Reliability in Production Apps?

When selecting an Optimism RPC provider, reliability goes beyond uptime. This article covers the key criteria to evaluate: endpoint consistency, archi...

区块链基础设施Bittensor

什么是 Bittensor 节点以及如何选择合适的设置?

Bittensor 节点(subtensor)是一个完整的区块链节点,连接到 Bittensor 网络,使您能够读取链状态、提交交易并参与子网。运行自己的节点可以完全控制并保护隐私,但需要大量的硬件和维护。对于许多团队来说,使用托管的 RPC 端点或专用节点基础设施是更实际的选择。...

区块链基础设施Solana

Solana 验证者设置:在质押 SOL 之前需要准备什么

运行 Solana 验证者意味着操作一个参与共识的投票节点,这需要仔细的硬件规划、密钥管理以及用于监控和运维的可靠 RPC 连接。本指南将介绍实际准备步骤、运行自己的验证者与委托之间的权衡,以及节点上线后如何保持可观测性。 你将找到一份以决策为导向的检查清单、硬件和网络要求、密钥生成和投票账户设置、...

测试网 RPCBase

Base Sepolia 公共 RPC 端点:链设置、水龙头和调试

Base Sepolia 是 Base 的测试网,Base 是一个 OP Stack L2,结算到以太坊 Sepolia。要连接,请将你的钱包或应用指向 Base Sepolia RPC 端点,并设置链 ID 84532、货币 ETH 和区块浏览器 https://sepolia.basescan....

永远不用担心基础设施

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

开始