摘要
本页介绍如何使用 RPC 端点连接到 BNB Chain 测试网(BSC 测试网)。您将找到 OnFinality 官方公共端点、链设置、水龙头说明以及在测试网上构建和测试 dApp 的常见调试技巧。
快速开始:连接到 BNB Chain 测试网
如果您正在 BNB Chain(原 BSC)上构建并需要测试环境,BNB Chain 测试网(链 ID 97)是您的起点。本指南提供准确的 RPC 端点、链设置和调试技巧,帮助您快速运行 dApp。
OnFinality 公共端点: https://bnb-testnet.api.onfinality.io/public
此端点可免费用于开发和轻量测试。对于生产工作负载或更高速率限制,请考虑专用节点或托管 RPC 计划。
链设置一览
在连接之前,请确保您的钱包或 dApp 使用正确的网络参数。以下是快速参考表:
| 参数 | 值 |
|---|---|
| 网络名称 | BNB 智能链测试网 |
| 链 ID | 97 |
| 原生货币 | tBNB(BNB Chain 原生代币) |
| 符号 | tBNB |
| 小数位数 | 18 |
| 区块浏览器 | https://testnet.bscscan.com |
| RPC 端点 | https://bnb-testnet.api.onfinality.io/public |
将 BNB 测试网添加到您的钱包
大多数开发者将测试网添加到 MetaMask 或其他钱包以与他们的 dApp 交互。以下是您可以使用的常见配置片段:
{
"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"]
}
您可以通过 MetaMask 的“添加网络”流程或使用 wallet_addEthereumChain 以编程方式添加。
从水龙头获取测试网 BNB
要支付测试网的 gas 费用,您需要 tBNB。官方 BNB Chain 水龙头是主要来源。访问 BNB Chain 水龙头 并连接您的钱包。您将收到少量 tBNB,通常足以进行几笔交易。如果您需要更多,可以在冷却期后再次请求。
发起您的第一个 JSON-RPC 调用
获得端点后,您可以使用简单的 eth_chainId 调用来测试连接。以下是 curl 示例:
curl -X POST https://bnb-testnet.api.onfinality.io/public \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
预期响应:
{"jsonrpc":"2.0","id":1,"result":"0x61"}
0x61 是链 ID 97 的十六进制表示。
使用 ethers.js 或 viem
如果您使用 JavaScript 库,以下是使用 ethers.js 连接的方法:
const { ethers } = require("ethers");
const provider = new ethers.JsonRpcProvider("https://bnb-testnet.api.onfinality.io/public");
async function getBlockNumber() {
const blockNumber = await provider.getBlockNumber();
console.log("Current block:", blockNumber);
}
getBlockNumber();
以及使用 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("Current block:", blockNumber);
调试常见问题
即使使用正确的端点,您也可能遇到问题。以下是快速故障排除表:
| 症状 | 可能原因 | 修复方法 |
|---|---|---|
eth_chainId 返回错误值 | 选择了错误的网络 | 检查链 ID 是否为 97 |
| 交易卡住或丢失 | tBNB 不足以支付 gas | 从水龙头获取更多 |
nonce too low 错误 | 交易重放或 nonce 过时 | 在钱包中重置账户活动 |
| 连接超时 | 公共端点速率限制 | 使用专用节点或 API 密钥 |
| 合约调用回退 | 合约未在测试网上部署 | 在浏览器上验证合约地址 |
测试网的公共 RPC 与专用 RPC
对于简单测试,公共端点就足够了。但如果您运行自动化测试、负载测试或 CI/CD 管道,您可能会遇到速率限制。在这种情况下,请考虑提供更高吞吐量和更可靠性的专用节点或托管 RPC 计划。
OnFinality 为 BNB Chain 测试网提供共享和专用基础设施。您可以查看网络页面了解详情并获取 API 密钥。
关键要点
- BNB Chain 测试网 RPC 端点是
https://bnb-testnet.api.onfinality.io/public。 - 链 ID 为 97,原生货币为 tBNB。
- 使用官方水龙头获取测试网 BNB。
- 在构建之前使用
eth_chainId测试您的连接。 - 对于生产级测试,请考虑专用节点或托管 RPC 服务。
常见问题解答
BNB Chain 测试网 RPC URL 是什么?
公共 RPC URL 是 https://bnb-testnet.api.onfinality.io/public。您也可以从 OnFinality 获取专用端点。
如何获取测试网 BNB?
使用官方 BNB Chain 水龙头:https://www.bnbchain.org/en/testnet-faucet。
BNB 测试网的链 ID 是多少?
链 ID 是 97。
我可以使用相同的 RPC 用于主网吗?
不可以,主网使用不同的端点和链 ID(56)。请参阅 BNB Chain 主网页面了解详情。
公共端点是否有限速?