摘要
BNB智能链测试网(链ID 97)是一个兼容EVM的测试环境,用于在主网部署前构建和测试dApp。本页面提供官方RPC端点、链配置、水龙头链接和常见调试技巧,帮助开发者快速上手。
BNB智能链测试网决策清单
在开始构建BNB智能链测试网之前,请考虑以下事项:
| 标准 | 检查内容 | 重要性 |
|---|---|---|
| 端点可靠性 | 提供商是否提供专用或共享端点? | 共享端点可能有速率限制,影响测试。 |
| WebSocket支持 | 端点是否支持wss? | 实时事件监听(如待处理交易、日志)需要。 |
| 水龙头可用性 | 能否轻松获取tBNB? | 没有测试代币,无法部署合约或发送交易。 |
| 归档数据 | 是否需要历史状态? | 某些查询(如旧区块的eth_getBalance)需要归档节点。 |
| 链ID | 是否为97(0x61)? | 使用错误的链ID会导致交易被拒绝。 |
| 浏览器 | 能否验证交易? | 测试网BscScan有助于调试失败交易。 |
什么是BNB智能链测试网?
BNB智能链测试网(也称为BSC测试网)是一个镜像BNB智能链主网的测试环境。它使用相同的权益证明权威(PoSA)共识,并完全兼容EVM。开发者用它来部署和测试智能合约、dApp和基础设施,而无需冒真实资金风险。原生代币是tBNB,没有货币价值,可从水龙头获取。
链配置
要连接到BNB智能链测试网,请使用以下设置:
- 网络名称: BNB智能链测试网
- RPC URL: 见下方端点
- 链ID: 97(0x61)
- 货币符号: tBNB
- 区块浏览器URL: https://testnet.bscscan.com
RPC端点
公共端点(有速率限制)
这些端点由BNB Chain团队和社区提供商提供。适合轻量测试,但可能有速率限制(例如每5分钟10,000次请求)。
https://data-seed-prebsc-1-s1.bnbchain.org:8545
https://data-seed-prebsc-2-s1.bnbchain.org:8545
https://bsc-testnet-rpc.publicnode.com
wss://bsc-testnet-rpc.publicnode.com
托管端点(更高可靠性)
为了获得更一致的性能,考虑使用托管RPC提供商如OnFinality。OnFinality为BNB智能链测试网提供专用和共享端点,具有更高的速率限制、WebSocket支持和可选的归档数据。
https://bnb-testnet.api.onfinality.io/public
wss://bnb-testnet.api.onfinality.io/public
要获取具有专用资源的私有端点,请在OnFinality注册并创建API密钥。
从水龙头获取tBNB
你需要tBNB来支付测试网的gas费。使用以下水龙头之一:
- BNB Chain水龙头 – 官方水龙头,需要Twitter账户。
- Thirdweb水龙头 – 每天提供0.01 tBNB。
- Chainstack水龙头 – 备选方案。
提示: 如果某个水龙头枯竭,尝试另一个或等待冷却期。
将BSC测试网添加到MetaMask
- 打开MetaMask,点击网络下拉菜单。
- 点击添加网络。
- 输入以下详细信息:
- 网络名称: BNB智能链测试网
- RPC URL:
https://data-seed-prebsc-1-s1.bnbchain.org:8545(或你偏好的端点) - 链ID:
97 - 货币符号:
tBNB - 区块浏览器URL:
https://testnet.bscscan.com
- 点击保存。
或者,使用Chainlist一键添加网络。
使用curl测试
验证你的RPC端点是否正常工作:
curl -X POST https://bnb-testnet.api.onfinality.io/public \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
预期响应:
{"jsonrpc":"2.0","id":1,"result":"0x733a3b"}
常见陷阱与调试
1. 错误的链ID
如果交易因“chainId mismatch”失败,请确保你的钱包或dApp使用链ID 97(0x61)。
2. tBNB不足
使用以下命令检查余额:
curl -X POST <rpc-url> \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["<your-address>","latest"],"id":1}'
如果余额为0,请使用水龙头。
3. 速率限制
如果遇到HTTP 429错误,请降低请求频率或切换到私有端点。
4. eth_getLogs被禁用
某些公共端点禁用了eth_getLogs。请使用支持该方法的提供商,或切换到WebSocket以获取实时日志。
5. WebSocket连接断开
确保你的客户端处理重连。WebSocket示例:
const WebSocket = require('ws');
const ws = new WebSocket('wss://bnb-testnet.api.onfinality.io/public');
ws.on('open', () => {
ws.send(JSON.stringify({jsonrpc:"2.0", method:"eth_subscribe", params:["newHeads"], id:1}));
});
ws.on('message', (data) => console.log(data));
何时使用托管RPC提供商
虽然公共端点适合快速测试,但生产级开发通常需要:
- 更高的速率限制 – 避免自动化测试期间的节流。
- 归档数据 – 查询历史状态以进行调试。
- WebSocket可靠性 – 稳定的连接用于事件订阅。
- 专用节点 – 隔离资源以获得一致的性能。
OnFinality为BNB智能链测试网提供所有这些选项。你可以从免费的共享端点开始,并根据需要升级。查看RPC定价和支持的网络了解详情。
关键要点
- BNB智能链测试网(链ID 97)是一个使用tBNB的EVM兼容测试网络。
- 轻量测试使用公共端点;较重负载考虑托管提供商。
- 部署前始终验证链ID和水龙头可用性。
- WebSocket支持对实时dApp至关重要。
- 调试常见问题如速率限制和禁用方法可以节省时间。
常见问题
问:BNB智能链测试网RPC URL是什么?
答:公共URL包括https://data-seed-prebsc-1-s1.bnbchain.org:8545和https://bnb-testnet.api.onfinality.io/public。如需私有端点,请在OnFinality注册。
问:如何获取tBNB? 答:使用官方BNB Chain水龙头或第三方水龙头如Thirdweb。大多数需要社交登录。
问:我可以在测试网和主网上使用相同的合约吗? 答:可以,因为两个网络都兼容EVM。只需确保使用正确的链ID并重新部署。
问:为什么我的交易一直待处理? 答:检查你的tBNB余额和gas价格。同时确保你连接到了正确的RPC端点。
问:OnFinality支持BSC测试网吗? 答:是的,OnFinality为BNB智能链测试网提供共享和专用端点。访问BNB测试网网络页面了解详情。