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

Polygon Mumbai链上CREATE2交易回滚原因排查咨询

CREATE2操作回滚的常见原因(排除目标地址已存在合约的情况)
  • 初始化代码执行失败:CREATE2确定目标地址后,会部署合约并执行其构造函数。若构造函数存在逻辑错误——比如算术溢出、权限校验未通过、调用外部合约失败、操作超出Gas限制等——整个CREATE2调用会直接回滚。即便目标地址原本无合约,只要初始化代码执行出错,部署就会失败。

  • Gas配额不足:部署合约需要消耗Gas用于执行初始化代码和存储合约字节码。如果交易提供的Gas总量无法覆盖CREATE2操作的全部开销(包括构造函数执行的Gas消耗),会触发Out-of-Gas错误,导致交易回滚。

  • 合约字节码无效:传入CREATE2的合约字节码不符合EVM规范(比如格式错误、包含无效操作码),EVM无法解析执行这段字节码,会直接回滚CREATE2操作。

  • 链上状态瞬时冲突:尽管当前目标地址无合约,但同一区块内若有其他交易先于你的交易尝试部署到该地址(哪怕最终失败),可能引发链上状态的瞬时冲突,导致CREATE2回滚。这种情况在测试链上概率较低,但需考虑并发交易的影响。

  • 构造函数重入/递归问题:若构造函数中调用外部合约,而外部合约又回调正在部署的合约,可能触发重入保护机制或导致递归调用栈溢出,进而造成CREATE2操作失败回滚。

内容的提问来源于stack exchange,提问作者Derek Chiang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:56:29