Chainlink VRF:链上与仪表板生成的订阅ID不匹配问题
解决Sepolia网络Chainlink VRF订阅ID不匹配问题
排查步骤与解决方案
1. 切换VRF版本仪表板
Chainlink VRF V2与V2Plus的订阅系统相互独立,vrf.chain.link默认可能显示V2订阅列表:
- 进入Sepolia网络的vrf.chain.link页面,找到版本切换入口,选择VRF V2.5/Plus,再查看订阅列表,即可找到你通过脚本创建的V2Plus订阅。
2. 获取完整的订阅ID
脚本日志中的大数ID可能被截断或用科学计数法显示(如1.756e76),导致复制的ID不完整:
- 前往Sepolia区块浏览器,查询你的交易哈希
0x93a569514837d5d7dd8f525e1fdf105b541fde506522cf9c6b7d0173779c0da7; - 在交易详情的事件日志中找到
SubscriptionCreated事件,复制完整的十进制订阅ID; - 使用该完整ID进行充值操作,即可避免
InvalidSubscriptionId错误。
3. 验证合约调用参数
确认脚本中的关键参数正确:
- 检查
ETH_SEPOLIA_CHAN_ID常量是否设置为Sepolia链ID11155111,确保脚本在目标网络执行; - 核对VRF Coordinator地址
0x9DdfaCa8183c41ad55329BdeeD9F6A8d53168B1B,该地址确实是Sepolia网络的VRF V2Plus Coordinator。
4. 确认订阅所有权
检查vrf.chain.link中订阅的所有者地址是否与你的钱包地址0x57099326F00d72E00dc4416FF638136853E5330e一致:
- 如果不一致,说明你查看的不是自己创建的订阅,需在仪表板中筛选自己钱包地址的订阅。
内容的提问来源于stack exchange,提问作者Phc Chu Vaky Ramadan
相关产品推荐
相关产品推荐

