Tx Doctor / Solana エラー事典 / カスタムプログラムエラー(不明なコード)
Solana エラー:カスタムプログラムエラー(不明なコード)
あるプログラムが、その開発者だけが定義するエラーコードで取引を拒否しました。失敗前後のログに原因が出ていることがほとんどです。
原因
- オンチェーンプログラムはそれぞれ独自のエラー enum を持ちます。同じ 6001 でも別のプログラムでは全く違う意味になります。
- 新しいプログラムやフォークは、対応表を公開せずにコードを再利用することがよくあります。
- 多くはスリッページ、アカウント不足、権限チェックに行き着きます。
解決方法
- ログの最後の数行を読んでください。プログラムは失敗直前に人間向けの理由を出力するのが通例です。
- 新しいブロックハッシュと少し高めの優先手数料で 1 回だけ再試行してください。一時的な状態が原因のことが多いです。
- 同じ操作で繰り返すなら、署名を添えてプログラム側へ問い合わせてください。すぐに解読できます。
ログでの表示例
Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P failed: custom program error: 0x1
いまこのエラーが出ていますか?トランザクション署名を貼ると、失敗した命令・プログラム・エラーコードがそのまま分かります。
自分のトランザクションを診断