利用 Chainlink CCIP 做跨链开发时,测试代币 成了每位开发者的刚需。本文将带你从零开始,快速、安全、无限量地领取 CCIP-BnM 与 CCIP-LnM 测试代币,并向链上发起第一笔跨链转账。
为什么要用官方测试代币
主网上线前,所有 DeFi、NFT 或游戏类项目的跨链功能都必须先在测试网跑通。官方提供的两条测试代币:
- ERC20 标准,与真实资产行为一致
- 无限 faucet,调用一次就领 10^18 枚(1 枚以 18 位小数计算)
- 与 CCIP 完全兼容,省去对接额外合约的麻烦
只要你会写一行合约调用或会点区块浏览器,就能把测试场景铺满。
认识两条明星测试代币
| 名称 | 机制 | 出了哪个链 | 说明 |
|---|---|---|---|
CCIP-BnM | Burn & Mint | 所有测试网 | 源链烧毁、目标链铸造,总量在链间保持一致 |
CCIP-LnM | Lock & Mint | 仅在 Ethereum Sepolia | 源链锁定、目标链铸造包装资产 clCCIP-LnM,非 Sepolia 链之间采用 “烧毁-铸造” 逻辑 |
这两条代币覆盖了跨链机制的两大派系,测试价值极高。
领取方式 1:一行代码搞定 faucet
合约内置了极简函数 drip,效果等同无限量水龙头:
function drip(address to) external {
_mint(to, 1e18);
}调用方式:
- 找到合约地址:前往 CCIP Directory 查看各测试网的
CCIP-BnM或CCIP-LnM地址。 - 在 Remix 或 Foundry 内新建脚本,调用
drip(yourAddress)即可。 - 每笔交易 mint 一整枚代币,gas 由测试网节点补贴,几乎为零成本。
👉 30 秒脚本范例:如何用 10 行 Solidity 一键领取上千枚测试代币
领取方式 2:区块浏览器点点鼠标
不会写代码?下面教你用浏览器 UI 领取 CCIP-BnM(以 Ethereum Sepolia 为例,其余测试网步骤相同)。
1. 定位代币地址
- 进入 CCIP Directory - testnet
- 选择链 Ethereum Sepolia → 支持的代币列表里找到
CCIP-BnM - 点击地址跳转至 Etherscan 显示页
2. 连接钱包
- 打开 Contract → Write Contract
- 点击 Connect to Web3,将 MetaMask 切到 Sepolia 测试网并授权连接
3. 发起领取
- 在
drip输入框内填入你的 EOA 地址 - 点击 Write → MetaMask 弹出 → 确认交易
- 成功后返回钱包,添加自定义代币,合约地址即
CCIP-BnM地址,符号填写CCIP-BnM,小数为 18
把测试代币加到钱包里
MetaMask 默认不会显示陌生代币。打开钱包 → 资产 → 导入代币 → 粘贴合约地址即可立即看到余额。记得把网络切换到相应测试网,否则余额为 0。
FAQ:领取与使用常见疑问
| Q | A |
|---|---|
| 公共水龙头额度太少怎么办? | 直接使用本文的 faucet 函数,无限领取,不再受单次限额困扰。 |
| Sepolia 没币缴 gas,怎么开局? | 先去 Alchemy Sepolia faucet 领取 0.2 ETH,足够几百次 drip+转账。 |
| 我的跨链场景需要多少钱? | 建议每种代币至少准备 50 枚;若需模拟手续费不足场景,则提前准备极低余额钱包。 |
| 目标链找不到相应代币? | 说明跨链已经完成,去目标链区块浏览器输入合约地址即可查看,或在钱包内添加自定义代币即可。 |
drip 合约挂了怎么办? | 极少见,先确认链是否宕机;如属合约问题,可在官方 Discord 提交 Issue,官方通常 2 小时内修复。 |
| 能否一次性领 100 枚? | 每次只能领 1 枚,可放在脚本里循环 100 次,gas 不到 0.0001 ETH,几乎零成本。 |
小贴士:测试完记得清理
主网上线前,务必:
- 用干净的测试钱包,不要把私钥塞进正式环境
- 完成后注销 block explorer 的 Web3 权限,避免钓鱼授权
- 若需重置账户,
MetaMask → 设置 → 高级 → 重置账户一键搞定
掌握了这两条测试代币,你就能放心大胆地调试 跨链转账池、手续费模型、失败回滚 等核心流程。祝开发顺利,代码零 bug!