Metamask交易堵塞怎么办

使用metamask工具时,交易迟迟不入账,如何提价/覆盖交易

交易堵塞,迟迟不能入账

首先需要明确一点,如果你在使用metamask,请一定确认是否有之前的交易在堵塞中!

在区块链入门知识中,我们已经提到过,一个账户发出的交易都是按序号排列好的,只能按序号一个一个入链。如果您的metamask钱包上已经有一个拥堵的交易,metamask会把新发出的交易的排在这个交易后面,这样无论你把之后的交易gas price提到多高,最开始的交易没入链,后面的交易都不可能入链。

pending的交易会堵住后面的交易

那么如果使用metamask时,交易出现拥堵时,必须从拥堵的第一个交易开始解决。

解决方法有两个:指定交易提价,和清空账户重发。

交易提价法(加手续费)

交易提价

找到你拥堵的第一个交易,详情里有一个Speed Up功能,会自动帮你把对应交易提价,这样就能解决拥堵的第一个交易啦。排在后面的交易如果还有拥堵,请同样解决。

账户清空法

以太坊每一个账户发出的交易都有一个固定的单增序号。那么如果同一个用户发出来的两个交易有用一个编号会咋样?这个取决于矿工选择,最终只有一个交易能够入链,另一个相同编号的交易就会被丢弃。 一般来说,矿工会选择gasPricce 更高的交易入链。

Metamask 帮助你记录了你的堵塞交易,并且把新交易序号跟在堵塞交易后。如果我想取消这些延迟的交易,重新发交易怎么办?这时候我们可以清空Metamask 的历史记录,从上一个入链编号开始重新发交易。

方法如下:

  • 打开Metamask

  • 点击右上角账户符号,然后点击Setting(选项)

点击Settings
  • 点击Advanced(高级),里面有一个重置账户(Reset Account)

Reset Account

重置账户会清空当前账户的交易记录,从链上读取最新的入链序号重新开始发交易。这样就可以洗掉之前延迟的交易记录啦。

注意!清空历史记录只是清空了你本地的记录,发出去的交易仍然在链上矿工的交易池中。

如果新发交易,需要gasPrice比之前清空的交易gasPrice更高,矿工才会选择新发的交易。

另外如果清空账户后什么也不做,很可能等链上不拥堵了,矿工会重新把这些延迟的交易入链。所以保险起见,清空账户后,您需要用更高的价格发一些简单的交易(比如转0ETH给自己)来洗掉链上的拥堵交易(通过相同的序号),否则那些本地清空的交易将来仍然有可能入链。