You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Goerli网络部署哈利波特NFT遇Gas估算失败执行回滚错误

问题解决:调用createCollectible时出现Gas估算失败/交易回滚错误

核心错误原因

最直接的触发点是Python脚本与合约函数的参数不匹配:

  • 合约AdvancedCollectible.sol中的createCollectible函数仅接收1个参数:string memory tokenURI
  • 但create_collectible.py调用时传入了2个参数(STATIC_SEED和"None"),导致合约执行直接回滚,触发Gas估算失败。

修复步骤

1. 修正Python调用参数

修改create_collectible.py中的调用代码,删除多余的STATIC_SEED参数:

transaction = advanced_collectible.createCollectible(
    "None", {"from": dev}
)

2. 检查LINK资金充足性

合约内定义的fee为0.1 LINK,但brownie-config.yaml中Goerli网络的fee设置为2.5 LINK,需确保fund_with_link函数给合约转入的LINK数量不低于配置的fee值,否则调用requestRandomness时会因LINK不足回滚。

3. 对齐事件名称

脚本中读取的事件为RequestedCollectible,但合约内定义的事件是requestedCollectible(首字母小写),需修改脚本中的事件名称:

requestId = transaction.events["requestedCollectible"]["requestId"]

调试补充

如果上述修改后仍有问题,可手动设置Gas上限强制广播交易(仅用于调试):

transaction = advanced_collectible.createCollectible(
    "None", {"from": dev, "gas_limit": 300000}
)

内容的提问来源于stack exchange,提问作者PIER FRANCESCO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 14:15:41