ソラナのトランザクションが失敗したのはなぜ?Solscanで原因を調べる方法
スワップに赤い「失敗」ラベルが表示され、移動させるつもりだった資金はどこにも移動せず、ウォレットに表示されるのは曖昧なエラーメッセージだけ。ソラナではよくあることで、詳しい説明は通常、検索するだけでブロックチェーン上に見つかります。
重要なのは、ネットワークに到達して失敗したトランザクションなのか、そもそもオンチェーンに記録されなかったのかを見極めることです。Solscanを使えば、通常どちらなのかがわかり、多くの場合は失敗の理由も確認できます。
ソラナで「失敗」が意味すること
1つ目のケースでは、トランザクションはバリデータに到達してブロックに含まれた後、依存していた条件が満たされなかったため、実行中に拒否されています。この種の失敗はエラーとプログラムログが添付され、オンチェーンに永久に記録されます。
2つ目のケースでは、トランザクションは記録されません。ソラナの各トランザクションは、直近のブロックハッシュを参照しており、その有効期間は約150ブロック、時間にするとおよそ60~90秒です。その時間内に処理されなければ、期限切れとなって破棄されます。このようなトランザクションはブロックチェーンに記録されていないため、通常はいずれのエクスプローラーにも表示されません。
ソラナのトランザクションが失敗する一般的な理由
記録された後に失敗するトランザクションでよくある原因は、ネットワーク手数料を支払うためのSOL不足(新しいトークンアカウントの作成が必要な場合は少額の預け入れ分も必要)、価格が大きく変動したことによるスワップ時のスリッページ許容範囲超過、または署名から実行までの間にアカウントの状態が変化することです。また、トランザクションのコンピュート上限に達して処理できなくなることもあり、複雑な操作でよく発生します。
記録されないトランザクションでよくある原因は、ブロックハッシュの期限切れです。署名に時間がかかったり、確認画面で操作をためらったり、接続が遅れたりすると起こることがあります。また、ネットワークの混雑も原因になります。ネットワークが混雑していると、任意の優先手数料が低いトランザクションは、バリデータに処理される前に破棄されることがあります。
Solscanで原因を調べる方法
まず、ウォレットの取引履歴または利用したアプリからトランザクション署名をコピーし、Solscanの検索バーに貼り付けます。トランザクションが記録されていれば、通常、成功ではなく失敗のステータスが表示され、失敗した命令が示される場合もあります。
ページを下にスクロールして、命令の詳細やログメッセージなどのセクションを探してください。正確な名称やレイアウトは、時間の経過とともに変わる場合があります。ログには、どのプログラムが実行され、どこで停止したかが表示されます。通常は命令番号とエラー名またはエラーコードも確認できます。エラーコードはプログラムごとに異なるため、同じ番号でもプログラムによって意味が違うことがあります。コードの解読には、そのプログラムのドキュメントが役立ちます。Solscanで署名がまったく見つからない場合、トランザクションが記録されなかったか、まだ記録されていない可能性があります。
資金と手数料はどうなるか
ソラナでは、トランザクションは1つの単位として実行されます。含まれる命令のいずれかが失敗すると、トランザクションによって生じるはずだった変更はすべて取り消されるため、トークン残高は元のままです。通常、費用としてかかるのは試行に対する少額のネットワーク手数料だけです。バリデータが処理を行ったため、この手数料は引き続き請求されます。
期限切れになり、記録されなかったトランザクションは、通常、チェーンに到達していないため手数料が請求されません。ただし、再試行する前に、最初の試行をSolscanで確認することをおすすめします。停止しているように見えるトランザクションでも後から処理されることがあり、2回送信すると二重送金になる可能性があります。
WEEXからのお知らせ:再試行する前に確認を
WEEXは、再送信する前にSolscanで最初の試行のステータスを確認し、手数料を支払えるようウォレットに少額のSOLを保有しておくことをおすすめします。失敗したトランザクションを狙った詐欺にも注意してください。失敗したトランザクションを「修復」すると持ちかけ、シードフレーズや秘密鍵を尋ねる人は、どれほど公式らしく見えても正当な相手ではありません。本物のトラブルシューティングで、どちらかを求められることは決してありません。
まとめ
ソラナのトランザクションは、署名を検索すれば失敗の原因を確認できます。Solscanでは、オンチェーンで失敗したのか、記録されなかったのかを調べられ、ログからは処理を停止させた命令がわかることもよくあります。ほとんどの場合、資金は元の場所に残り、失われるのは少額の手数料だけです。まず確認してから再試行する習慣をつけましょう。
よくある質問
1. ソラナのトランザクションが失敗すると、トークンを失いますか?
通常は失いません。ソラナではトランザクションが1つの単位として実行されるため、命令のいずれかが失敗すると、その変更は取り消され、残高は元のままです。通常、失われるのはネットワーク手数料だけです。
2. ソラナのトランザクションが失敗しても手数料を支払いますか?
トランザクションがオンチェーンに記録された後に失敗した場合、通常は少額のネットワーク手数料が請求されます。期限切れになり記録されなかった場合、通常は請求されず、Solscanにも表示されません。
3. Solscanで自分のトランザクションが見つからないのはなぜですか?
まだ記録されていない、期限切れまたは破棄された、あるいは署名を誤ってコピーした可能性があります。署名を確認し、少し待ってから、ウォレットに表示されているステータスと照らし合わせてください。
4. Solscanではどこでエラーを確認できますか?
トランザクション署名を検索し、失敗のステータスと、命令の詳細やログなどのセクションを確認してください。通常、どの命令が失敗したのか、どのエラーが返されたのかが表示されます。レイアウトやラベルは時間の経過とともに変わる場合があります。
5. 失敗したソラナのトランザクションは安全に再試行できますか?
多くの場合は問題ありませんが、元のトランザクションが成功しておらず、保留中でもないことをSolscanで確認してください。停止しているように見えても処理されることがあり、早まって再送信すると二重送金になる可能性があります。