先日NFT売買にて、ガス詰まりにより取引が全て動かなくなるトラブルに見舞われました・・・
原因はコレクションオファーに対し、安いガス代でオファーを受けたこと。
これにより、丸2日経っても移動されずその間新規でNFT購入もトランスファーもできずに・・・
追加でガス代払っても、キャンセルガス代払っても全く反応せずでした・・・
調べてみたら、半ば強制的にガス詰まりを解消できるとのことで実践!
ここでは、そのNFT取引に発生するガス詰まりが一発で解消する方法をまとめました。
NFT取引でガス詰まりが起こる理由
ガス詰まり=処理待ちとなってしまい、実行されない状態のことを指します。
主な原因は3点。
ポリゴンの不具合
トランザクションの混雑
支払ったガス代が安すぎた
Polygon/Maticネットワークでは、イーサリアムネットワークと比較して頻繁に発生します。
これは利用者側で何かコントロールできる話ではないため、防ぎようがないのが現状。
今回詰まったのは、イーサリアムネットワークでした
トランザクションの混雑は、頻度としてはそこまで多くありませんが、人気のコレクション売買時などでは起こる確率が高くなります。
コンビニやスーパーのレジ待ちのように、トランザクション処理する場所に一斉集中してしまうと、処理に限界があるので詰まってしまいます。
これも予測は立てられても実際に発生するかまでは分かりません
支払ったガス代が安すぎた場合、そのタイミングで求められている相場のガス代を下回るガス代を支払うことで発生します。
ガス代を安く抑えると、トランザクション処理が後回しとなるため、一向に処理が進まない結果を招いてしまいます。
今回まさにコレ。ガス代をケチって大失敗しました
ガス詰まりが起こった場合の解決策
実際にガス詰まりが発生した場合、対処法としては4点あります。
- ただひたすら待つ
- ガス代を追加で支払う
- 取引自体をガス代支払いキャンセルする
- 別取引でトランザクションを上書きする
ひとつずつ見ていきましょう
ガス詰まり解決策1:ただひたすら待つ
時間が解決!とはいうものの、今回は待てども待てども一向に解決せず。
丸2日と10数時間経っても一向に解決しませんでした
のんびり待つのもOKですが、ガス詰まりが発生している場合、その他の取引が一切できません。
今回はNFTを売る(オファーを受ける)タイミングで詰まったため、NFTをミントもトランスファーもできませんでした。
NFTプロジェクトがその間出ていたら、ガス詰まりがいつ解消するか分からずミントできずに終わっていたかもしれません。
いくら余裕があっても、いつ解消するか不明なので常に気にかけておく必要はありそうです。
ガス詰まり解決策2:ガス代を追加で支払う
NFT売買でガス代詰まりを解決する最も定番な手法。
最初にトランザクションを通した際に支払ったガス代に上乗せする形で、更にガス代を支払うというもの。
実際やりましたが、今回解決せず・・・
ほとんどのガス詰まりはこの方法で解決します。しかし今回追加でガス代を20Gwei支払ったのですが、一向に解決せず。
そうなると、最終手段として考えていた、キャンセルでなんとかなるかな?と思ってました。
ガス詰まり解決策3:取引自体をガス代支払いキャンセルする
実質最終手段と考えていた、NFT売買でガス詰まりによる対応方法として、取引自体を無かったことにする方法。
結論、今回これで解決しませんでした・・・。
ここでも、キャンセルするために別途ガス代を支払っておこなったもの、一向にキャンセルされず・・・。
え?どうしよ?ずっと使えないじゃん!
キャンセルもできず、追加でガス代を支払っても処理されず、なんの操作もできずに丸2日以上経過。
もうこれは何か対処しないと、身動き取れない状態に陥ったため調べて今回解決方法に辿り着きました。
ガス詰まり解決策4:別取引でトランザクションを上書きする
今回はこの方法でたった2分でガス詰まりを解消しました!
うんともすんとも言わなかったガス詰まりがものの2分程度で解決!正直、もっと早く知っておきたかった・・・
簡単に説明すると、詰まったトランザクションを別の取引で上書きしてしまうこと。
今回はこの方法にて2分で解決しました!
ガス代UPして改善するのがいいですが、うまくいかずにキャンセルも効かなくなった場合はこの方法が容易に解消できたのでおすすめです。
ガス詰まりを解決する手段で必要なもの
今回採った手段の「別取引でトランザクションを上書きする」方法では、必要なものが2点あります。
メタマスク以外のウォレット
ガス代
今回使用したメタマスク以外のウォレットは、「TokenPocket」というもの。
とある操作ができる条件があるため、いくつかウォレットが制限されてしまいます。
その操作ができれば極論なんでもできるはずです。(実験はしてませんが理論上)
今把握している限り
ができるようです。
流れとしては、
- メタマスク以外のウォレットを作成し、インポートする
- ガス詰まりしている情報をEtherscanで調べる
- ガス代を調べる
- 詰まっているトランザクションに上書きデータとなるトランザクションを送る
順番を追って解説していきますね
MetaMask以外のウォレットを作成し、インポートする
初めに、MetaMask以外のウォレットをメタマスクの情報をインポートして作成します。
ここではTokenPocket(トークンポケット)を例に解説します
TokenPocketはこちらから。Android版/iOS版
ダウンロード後起動し「ウォレットをインポート」をタップします。
ウォレットをインポートをタップ後、MetaMaskの情報をTokenPocketにインポートするため、情報を入力します。
MetaMaskの秘密鍵の調べ方はまとめますね。
入力後、「利用規約に同意する」にチェックを入れ、「ウォレットをインポート」をタップ。
すると、MetaMaskの情報と連動したウォレットが作成できます。
ガス詰まりしている情報をイーサスキャンで調べる
次に、ガス詰まりが発生している情報をEatherscanでチェックしましょう。Eatherscan公式はこちら
ガス詰まりしている情報を見つけたら、「Overview」の一番下にある「Click to see More」から情報を展開します。
Click to see Moreはこれですね。
展開を広げると、「Nonce値」(ナンス値)が表示されています。
ナンス値って?
簡単に説明すると、イーサリアムアドレスが使っているトランザクションの通し番号のようなもの。
若い順番からトランザクションが通っていくので、今回の数値「357」が詰まっていれば、それ以降のトランザクションは一切通らずに詰まってしまいます。
ここでは、このNonce(ナンス値)のトランザクションを別で発行したものを先に通すことで、詰まったトランザクションを無効化・解決を目指します。
必要なガス代を調べる
別でトランザクションを発行して通す必要があるため、必要なガス代を調べましょう。
必要なガス代を調べるサイトはいくつかありますが、常に最新データに更新されているガスナウが使いやすくおすすめ。
各Gweiの下に表示されているのが、その数値でトランザクションが通る目安時間とされています。
ここのFastで言えば、17Gwei支払ってトランザクションを発行すると、1分で通る目安です。
そこに表示されている「Gas Price」のうち、「Fast」か「Rapid」のガス代を目安に支払いましょう。
新規トランザクションまで詰まってしまったら意味がありませんからね
目安が分かったことで、次は実際にTokenPocketを使ってトランザクション発行しましょう。
詰まっているトランザクションに上書きデータとなるトランザクションを送る
Token Pocketを開き、詰まってしまったトークン「ETH」のトランザクションを発行しましょう。
「ETH」をタップします。
タップ後、送金先のアドレスを入力する欄が出ます。
送金先アドレス欄にはサブウォレットを入力します。
送金額は、ゼロで問題ありません。
下に表示されているNonce欄を見てください。#360と表示されています。
詰まったNonce値はは357でしたので、#360からマイナス3をして357に合わせています。
ガス代を先ほどガスナウでチェックした「Fast」や「Rapid」にしましょう。
このタイミングで最新のガス代をもう一度チェックしてくださいね
今回はこのタイミングのFastGwei価格に1Gwei上乗せ設定しました。
確認画面に進みます。
確認画面には、
が表示されていると思います。
新たに#357でトランザクションが発行されました。
1分程度で無事にトランザクションが通りました!
結果を確認しましょう。トークンポケットではこう表示されました。
肝心のイーサスキャンでは解決した?
無事にPending(保留)が無くなり、ガス詰まりが解消されました!
MetaMaskの秘密鍵の調べ方
Token PocketなどサブウォレットにMetaMask情報をインポートする際に、秘密鍵(シードフレーズ)が必要です。
MetaMaskからの調べ方を振り返っておきましょう。
MetaMaskを起動して、アイコンをクリックしてください。
「設定」をクリックしてください。
セキュリティーとプライバシーがあるので、そちらを選択してください。
シークレットリカバリーフレーズを公開とあるので、そちらを選択します。
パスワードを求められるので、MetaMaskのロック解除パスワードを入力すると秘密鍵が表示されます。
ガス詰まりでNFTが取引できなくなった時の解決方法まとめ
新規購入やトランスファーもできなくなるガス詰まりを解決するには
の対処法があります。それでもガス詰まりで動かなかった場合は、今回のように新たなトランザクションを発行する方法で解決しましょう。
- 詰まってしまったトランザクションから、ナンス値を調べる
- 必要なガス代を調べる
- メタマスク情報をインポートした別ウォレットで、ナンス値を合わせて詰まったトランザクションと同じトランザクションをガス代上げて通す
MetaMaskと同じ情報をインポートしたサブウォレットがあれば、比較的容易にガスつまり解消ができますね!
Web3・NFTに関するわからない言葉が出てきたら
NFTやWeb3の世界は最新技術が満載!そのため毎日のように新しく聴きなれない言葉が出てきます。
その都度ワード検索していたら大変ですよね!
こちらの記事に、そうした新しく出てきたWeb3のワードを用語集としてまとめています。
ブックマークしておくと便利ですよ。