摘要
本指南介绍如何将BNB智能链测试网添加到MetaMask,涵盖链设置、使用tBNB充值以及常见配置陷阱。它还解释了如何为测试网开发选择可靠的RPC端点,以及何时使用托管RPC服务是合理的。
快速回答:MetaMask中的BNB智能链测试网
BNB智能链测试网(也称为BSC测试网)是一个公共测试网络,镜像BNB智能链主网。您可以使用下面的链设置在一分钟内将其添加到MetaMask。该网络使用链ID 97,原生代币是测试BNB(tBNB),没有实际价值,来自水龙头。
{
"chainId": "97",
"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"]
}
链设置一览
| 设置 | 值 |
|---|---|
| 网络名称 | BNB Smart Chain Testnet |
| RPC URL | https://bnb-testnet.api.onfinality.io/public |
| 链 ID | 97 |
| 货币符号 | tBNB |
| 区块浏览器 | https://testnet.bscscan.com |
这些值是OnFinality的官方公共端点。如果您使用不同的RPC提供商,请确保链ID和符号完全匹配;不匹配会导致MetaMask拒绝网络或显示错误的余额。
分步指南:将BNB智能链测试网添加到MetaMask
- 打开MetaMask,点击钱包顶部的网络选择器。
- 点击添加网络(如果您已经打开了自定义网络,则点击手动添加网络)。
- 使用上表中的值填写表单。
- 点击保存,然后切换到新网络。
- 从水龙头请求测试
tBNB(见下文),并确认余额出现。
如果您更喜欢一键选项,一些水龙头和dApp提供**“添加到MetaMask”**按钮,可以预填网络详细信息。在批准之前,始终验证链ID和RPC URL。
使用tBNB为您的钱包充值
测试网代币是免费的,没有货币价值。要获取tBNB,请使用官方的BNB Chain水龙头。许多水龙头要求您连接钱包并完成验证码。请求后,代币通常在一分钟内到达。
如果水龙头不起作用,请尝试:
- 切换到不同的水龙头(搜索“BNB智能链测试网水龙头”)。
- 检查您的钱包是否连接到测试网网络。
- 等待几分钟后重试,因为水龙头会限制请求速率。
为测试网开发选择合适的RPC端点
对于简单的钱包测试,上面的公共RPC端点就足够了。但是,如果您正在构建dApp、运行自动化测试或需要一致的性能,请考虑公共端点和托管端点之间的差异。
公共RPC端点
公共端点免费且易于使用。它们适合偶尔的请求,但通常有速率限制,并且在高流量期间可能变慢。如果您的应用发出许多调用,您可能会遇到429 Too Many Requests错误。
托管RPC服务
像OnFinality这样的托管服务提供专用或共享的RPC端点,具有更高的吞吐量、WebSocket支持和存档数据。它们专为生产工作负载而设计,并为您提供稳定的URL,在您重启节点时不会更改。
对于测试网开发,托管端点可帮助您在调试或运行负载测试时避免速率限制。您可以从免费的公共端点开始,并在需要更多容量时升级。
常见的MetaMask错误及修复方法
“错误:链ID不匹配”
当RPC端点返回的链ID与您输入的链ID不同时,会发生此错误。请仔细检查链ID是否为97,并且RPC URL指向测试网而不是主网。
“错误:网络未添加”
如果RPC URL无法访问,MetaMask有时会无法添加网络。请尝试不同的RPC URL或检查您的互联网连接。您也可以手动重新输入详细信息来添加网络。
“交易挂起”
如果交易一直处于待处理状态,您的RPC端点可能过载。切换到更可靠的端点或提高gas价格。在测试网上,您还可以尝试在MetaMask中重置您的账户(设置 > 高级 > 清除活动选项卡数据)。
“余额不足”
您需要tBNB来支付gas费。如果您的余额为零,请从水龙头请求更多。请记住,测试网代币与主网BNB是分开的。
使用ethers.js和viem与测试网交互
一旦网络添加到MetaMask,您可以使用ethers.js或viem等库将您的dApp连接到它。以下是使用ethers.js的示例:
import { ethers } from "ethers";
const provider = new ethers.JsonRpcProvider("https://bnb-testnet.api.onfinality.io/public");
const signer = await provider.getSigner(); // 使用MetaMask时,请改用浏览器提供程序
const balance = await provider.getBalance("0xYourAddress");
console.log("tBNB balance:", ethers.formatEther(balance));
对于浏览器环境,使用window.ethereum获取签名者:
const provider = new ethers.BrowserProvider(window.ethereum);
await provider.send("wallet_switchEthereumChain", [{ chainId: "0x61" }]); // 97的十六进制
const signer = await provider.getSigner();
何时为测试网使用专用节点值得?
如果您只是将网络添加到MetaMask以尝试dApp,公共端点就足够了。但是,如果您是运行测试套件或暂存环境的开发人员,您可能需要更多。
在以下情况下考虑专用节点:
- 您需要为自动化测试提供一致的性能。
- 您需要存档数据来查询历史状态。
- 您希望在负载测试期间避免速率限制。
- 您需要WebSocket支持以进行实时更新。
OnFinality为BNB Chain测试网提供共享和专用节点。您可以在RPC定价页面上比较选项,并在网络页面上查看支持的完整网络列表。
关键要点
- BNB智能链测试网使用链ID
97和tBNB代币。 - 官方公共RPC端点是
https://bnb-testnet.api.onfinality.io/public。 - 将网络添加到MetaMask是一个手动过程;验证所有字段以避免错误。
- 测试网代币是免费的,可从水龙头获取。
- 对于开发工作负载,请考虑使用托管RPC服务以避免速率限制并获得更好的可靠性。
常见问题解答
BNB智能链测试网的RPC URL是什么?
官方公共RPC URL是https://bnb-testnet.api.onfinality.io/public。您也可以在BNB Chain测试网网络页面上找到它。
如何将BNB智能链测试网添加到MetaMask?
打开MetaMask,转到设置 > 网络 > 添加网络,然后输入链ID 97、RPC URL和符号tBNB。请参阅上面的分步指南。
我在哪里可以获得测试BNB?
使用官方的BNB Chain水龙头。搜索“BNB智能链测试网水龙头”并按照说明操作。代币是免费的,仅用于测试。
为什么我的交易在BNB测试网上卡住了?
卡住的交易通常是由于RPC端点缓慢或gas价格过低。尝试切换到不同的RPC端点或提高gas限制。您也可以清除MetaMask的活动数据。
我可以将相同的RPC URL用于主网吗?
不能。主网使用不同的链ID(56)和不同的RPC URL(https://bnb.api.onfinality.io/public)。不要混淆它们,否则您的交易将失败。
OnFinality支持BNB智能链测试网吗?
支持。OnFinality为BNB Chain测试网提供公共和专用RPC端点。访问BNB Chain测试网网络页面了解详情。