你点了"加速"按钮,钱包里也确认了新Gas费,但交易还是卡着没动静——问题多半出在你加的不够多。
搞清楚替换卡住交易时,Gas费到底要加多少才够,以及怎么算才不算白加。
先弄明白一个关键点:节点凭什么允许你用新交易替换旧交易?
按EIP-1559规则,一笔交易要替换另一笔,核心判断依据是 Effective Priority Fee(实际有效优先费),不是Max Fee本身。
有效优先费 = min(你设的优先费, Max Fee - 当前Base Fee)
系统只看新交易的有效优先费是否比旧交易高。如果只把Max Fee调高了但优先费没动,有效优先费可能一点没涨,新交易照样会被节点无视。
最小增量:至少10%
Max Priority Fee(优先费):至少比原交易高10%。
Max Fee(总费用上限):建议比原交易高30%。这个数不是硬性要求,但设高点能覆盖Base Fee波动,避免好不容易提交成功又卡住。
具体操作(MetaMask为例)
打开钱包"Activity"列表,找到卡住的那笔交易。
点击"Speed Up"(加速)。
在确认弹窗里切到"高级"选项。
Max Priority Fee:在原值基础上加10%以上。比如原来是1.5 Gwei,填到1.7以上。
Max Fee:在原值基础上加30%以上。比如原来是20 Gwei,填到26以上。
确认提交。
| 参数 | 最低增量 | 为什么 |
|---|---|---|
| Max Priority Fee | ≥ 10% | 节点对比的是这个,不够就不允许替换 |
| Max Fee | ≥ 30% | 给Base Fee波动留余量,避免刚替换上又卡住 |
高危风险:别为了省那点钱只加5%。有些实现要求5%起步,但实际操作中网络拥堵随时可能加剧,加少了替换交易一样无人问津,你只是多付了一笔Gas费而已,问题根本没解决。
常见失败原因
不少用户反馈按10%加了优先费,还是提示替换失败,可能原因:
Base Fee在你提交替换交易的瞬间跳涨了。你加的那10%优先级被Base Fee吞掉了,有效优先费没涨够。这时候需要再加速一次,把优先费再往上提。
钱包没同步最新状态。重启钱包或切一下网络再切回来,重新估算Gas费后再加速。
你改的是Gas Limit,不是Fee。提速要改的是费用参数(Max Priority Fee / Max Fee),不是Gas Limit。改后者只是给更多Gas空间,不解决费用太低的问题。
验证收尾
替换交易确认后,在区块浏览器查原交易哈希:
状态显示 Dropped & Replaced → 替换成功。
新交易哈希状态显示 Success → 最终确认。
FAQ
Q:如果钱包不支持"加速"按钮,怎么手动替换?
A:启用钱包的"自定义Nonce"功能,发一笔金额为0 ETH给自己的交易,Nonce填卡住交易的那个数,费用按上面的规则加。这本质上是手动做了一笔替换交易。
Q:Blob交易(Type 3)的替换规则一样吗?
A:不一样。Blob交易体积大、传播成本高,规则更严——费用增量要求通常更高(甚至100%)。普通用户遇到这种情况不多,建议直接使用钱包的加速按钮处理。



