交易在MetaMask上一直等待

交易一直处于等待状态无法被网络打包一般有三种原因

  1. 交易的Nonce不是下一个应该被打包的Nonce

  2. 交易的Gas Price为0

  3. 交易的Gas Limit不足

您可以根据下述步骤检查您遇到的是哪个问题

检查交易的Nonce

如果发现阻塞的交易Nonce(M)和最后一个被打包的交易Nonce(N)不连续,即M≠N+1,则需要自定义Nonce重置Nonce后重新发送Nonce为N+1的交易,建议先尝试自定义Nonce,如果无法解决问题再尝试重置Nonce

如果Nonce是连续的,即M=N+1,可继续进行Gas Price和Gas Limit的检查

检查Gas Price

建议先检查Gas Price(燃料价格),此数为0时会无法被网络打包,请参考加速或取消交易,调高Gas Price来让网络打包此交易。

如果Gas Price不为0,则通常原因是Gas Limit太低,导致网络无法打包交易。请参考加速或取消交易,调高Gas Limit的同时调高Gas Price来让网络打包此交易。

加速或取消交易

点击待处理交易下方的加速取消按钮

在加速或取消时点击高级增加Gas Price(每次增加1即可)和Gas Limit(每次建议增加0.5倍以上)尝试让网络能够正常打包这笔交易。

注意:移动端MetaMask可以点击加速取消,但并不可以在加速或取消时自定义Gas Price,因此很有可能不成功,此时建议自定义Nonce后重新发送交易。

自定义Nonce以覆盖交易

在设置中打开自定义Nonce后即可手工填写一个交易的Nonce,具体步骤如下

打开自定义交易Nonce的开关后即可在发送交易时填入需要的Nonce,此时执行你需要做的操作,在发送交易时填入下一个Nonce,务必记得调高Gas Price(需要比之前在网络是阻塞住的交易的Gas Price大1即可,否则会遇到replacement transaction underpriced错误)和Gas Limit(每次建议增加0.5倍以上,否则可能还会遇到阻塞问题)

重置Nonce

如果无法加速或取消或仍然得不到打包,在这种情况下,您可以在设置 -> 高级中单击重设帐户即可重置Nonce。此操作将重置您的随机数并清除您的交易历史记录,但不会更改帐户中的余额或要求您重新输入助记词。

如果您使用移动端MetaMask遇到重置Nonce无效的情况,建议使用桌面端尝试或重新安装移动端MetaMask。但请记得提前保存好您的私钥或助记词。

如果调高Gas Price后或未调整时遇到CALL_EXCEPTION错误,通常是因为MetaMask在预估Gas Limit时比实际执行所需要的Gas低,导致执行不成功。此时,需要调高Gas Limit可以帮助解决问题。

最后更新于