どうも、アーリー出川兵団(@yasushi_crypto)です。
dAppsゲームで遊んでいたときにおこった事故なのですが、なぜかpendingのままずーっと承認されないトランザクションが発生しました。
「いつかpendingも治るやろ(∩´∀`)∩」と思っていたのですがずっと解消されず、実は4日間くらいdAppsゲームで遊べませんでした、、、。
これはヤバいと思い立ち、解決法を発見したのでシェアします。
ちなみにこの方法は、明らかにTx手数料をケチった際にのみ対処できそうです。ただただイーサリアムが混雑している場合にはおそらく上手くいきません。
どうしてもpendingが解消されない方は以下の方法をお試しください。最終手段です。元情報はコチラ。
①pendingのトランザクションを確認する
②自分のウォレットに 「0 ETH」を「高めのガス価格」で送金する
③pendingだったトランザクションが消えていることを確認する
Contents
pendingのトランザクションを確認する
以降、MetaMaskでの確認方法を記します。
まずは「View account on Etherscan」をクリック。
するとEtherscanに飛びます。私の場合は5つ詰まっていました。詰まりすぎや、、、。
いつから詰まってたのかを調べるために、詰まっているものの中で一番下をクリックしてください。
そうすると詳細が確認できます。
これは約4日前に送金したやつですね。
ここの「トランザクションID」をメモっといて下さい。
自分のウォレットに「0 ETH」を「高めのガス価格」で送金する
残念ながらメタマスク上でキャンセルはできない(少なくとも私の場合は何度チャレンジしてもできなかった)ので、MyEtherWalletに接続するやり方を紹介します。
*もしかしたらメタマスク上で自分のウォレットに0ETHを送っても解決できるかもしれません。試してみた方、経験がある方は共有していただけると助かります。
MyEtherWalletの「トランザクション確認ページ」に接続します。
ここで先程メモったトランザクションIDを入力、「Check Tx Status」をクリック。
pendingになっていることをここでも確認できます。
少し下の方にある「Cancel or Replace Transaction」のところでMetaMask経由でログインしてください。クリックしてもログインできない場合は、MetaMask上でログインし直してください。
*ちなみにFireFoxではうまくいきませんでした。Google Chrome上で行うと上手くいくと思います。
「Generate Transaction」をクリック。
その後に下に出てくる「Send Transaction」をクリック。
okだったら「Yes」をクリック。
「Submit」をクリック。
pendingだったトランザクションが消えていることを確認する
EtherScanから、先程までpendingだったトランザクションが消えているor Failになっていることを確認したら終了です。
注意事項
何点か気づいたこと、反省点があるのでシェアします。
Gas price低すぎるトランザクションはダメ
そもそもなぜ今回トランザクションが詰まってしまったかというと、Gas Price =0.1 GWeiという驚きの安さでトランザクションを送ってしまったことにあります。
あまりにも安い値段は避けましょう。
キャンセル用のトランザクションはトランザクションが詰まっていない時間にやろう
トランザクションが詰まり気味のときにキャンセルトランザクションを通そうとしても、なかなか通りませんでした。日本時間の夕方以降はトランザクションが混み合う傾向があるので、朝方にトライしてみることをオススメします。
情報、是非共有してください
今回、メタマスク上でのキャンセルの日本語情報を探しましたが、なかなか良いものは発見できませんでした。
良い情報知ってるよ!という方や、今回と似たような体験をされた方がいれば共有していただけると助かります。
最後に
以上、pendingからどうしても抜け出せないときの最終対処法を紹介しました。
なお、まだ検証例が少ないので、チャレンジする方は上手くいかない可能性もあるということをご考慮ください。私の場合は上手くいっています。
少しでもこの情報が誰かの役に立つと嬉しいです!
dAppsについてこちらの記事で解説しております。メタマスク触りたてなどの初心者の方は是非覗いてみて下さい。
dAppsとは?:Ethreum(イーサリアム)上で動くdAppsを解説