在ETH上进行交易转账的时候,如果Gas设置的低会遇到TX一直在Pending的状态,需要等好长时间(半个多小时甚至更长时间)交易才能完成,遇到这种情况,有个小技巧可以把这种情况处理掉,本贴就把这个技巧分享一下.
如何合理的设置Eth转换Gas可以看这个贴子:
https://bitcointalk.org/index.php?topic=2934771.0首先说明一下,对于已经打包到链块里,已经成功的交易,是不能这样处理的,
交易一定是在Pending状态才可以.有两种方式可以达到取消或替换的目的,这两种方式都需要用到网站:
https://www.myetherwallet.com, 另外,如果使用MetaMask的也可以直接在MetaMask里进行操作,MetaMask里操作很简单这里就不细说了. 我不用ImToken, 所以不知道如何去操作.
先说一下原理:
利用高Gas费替换同一条TX的低Gas费来完成取消或替换Pending中的TX,发送0ETH用来取消TX,发送一定数量的eth用来替换TX取消TX或替换TX还是一样需要Gas费用的.
方法1:先说一个简单的,但是可控性比较差,我试验的时候发现所要填的数据都是自动生成的,
特别是Gas的费用配置,有可能会多花费好多.这个方法比较适合取消TX
1.首先去
https://etherscan.io拿到正在Pending的TX.
2.然后进入到
https://www.myetherwallet.com/#check-tx-status,把TX复制到输入框,点击"Check TX Status"这个按钮
3.接下来会显示这个TX的状态, 如果TX是Pending状态, 最下面会显示访问钱包的路径进行取消或替换的操作.
4.访问钱包成功后,会出现下面的界面
需要关注的几个地方,已经在图片上用红字标出了
1是地址可以修改的
2点击下面的链接会填充钱包里所有的数额.
3是这个交易在钱包里的序列号.
4是Gas费, 这块的单位是wei, 如果换算成Gwei就是41, 这个费用在当前已经很高了.
如果我们要取消这个TX,直接点击"Generate Transaction",然后跟随操作就可以了,最后会生成一个新的TX来把旧的TX替换掉.
方法2:这个方法配置起来比较麻烦, 但是可以有效的控制Gas, 另外在替换TX的时候可以自定义要发送的ETH数量
1. 进入这个地址:
https://www.myetherwallet.com/#offline-transaction2. 在Step1的From Address填入要取消的TX的钱包的地址,点击"Generate Information",会在Step2里自动生成一些数据, 生成的数据需要自己配置一下
3. 需要怎么配置看下面
1 需要发送ETH的地址, 如果是要取消TX填自己的地址就好了(填其他地址也可以的),如果是要替换TX填接收以太的地址
2 发送ETH的数量, 填0eth是取消, 如果是想替换TX填之前的数量,或者其他的数量也可以.
3和4如何配置看上面说的那个贴子, 但是Gas Price一定要比要取消或替换的TX的费用高,才能及时的被打包处理. 其实如果按上面的贴子把Gas费用设置好了,一般不会出现一直Pending的情况.
4 特别说明一下,
这里的单位是wei, 在
https://etherscan.io/里的单位是gwei,要在
https://www.myetherwallet.com/helpers.html里把他们换算好再填.
5
这个很关键,是要取消或替换的TX的序列标志,如果填错了,就白费了.,这个值怎么找得到,在
https://etherscan.io/里查看TX的详情,搜"Nonce",这个后面对应的数值就是了.
6 这个不用填.
4. 将上面的内容配置完成后,打开钱包,然后"Generate Transaction",会自动在Step3里填充
5. 在Step3里点击"Send Transaction"就可以了,ETH网络就会生成一条新的TX把旧的TX替换掉.
以上就是怎么取消或替换Pending中的TX的方法了,如有错误请大佬们指正.