Skip to main content
SolanaのDevnet環境は、Solanaの開発ワークフローにおいて重要な部分です。 この記事では、新しいSolana DevnetブロックエクスプローラーであるOrbの基本的な使用方法について、プログラムの検索、トランザクションの検査、エラーのデバッグなどを解説します。

Solana Devnet Explorer

Orbエクスプローラーは、Solanaの3つのクラスターすべてをサポートしています:
  1. Mainnet-beta
  2. Devnet
  3. Testnet
これらのクラスターにアクセスするには、UIの右上でクラスターを選択してください。
The Orb Solana Devnet Explorer Jp

OrbでSolanaクラスターをDevnetに変更

また、URLの末尾にクラスターのパラメータを追加することもできます:
  • ?cluster=mainnet-beta
  • ?cluster=devnet
  • ?cluster=testnet

Solana Devnetでトークン・ミント・アドレスを検索する方法

Solana Devnetでプログラムをテストするには、Solana DevnetファウセットからDevnet SOLを取得するか、Solana CLIのエアドロップメソッドを呼び出して取得する必要があります。また、Heliusダッシュボードで無料で取得できるSolana Devnet RPCエンドポイントも必要です。 Devnet SOLのほか、Devnet USDCなど他のトークンも必要になることがあります。Solana Devnetでトークン・ミント・アドレスを見つけるには、トークンの名前を検索バーに入力します。
Find Solana Devnet Tokens On The Orb Explorer Jp

OrbでSolana Devnetトークンを検索する

重複がある場合は、CircleのUSDCトークン・ミント・アドレス一覧のように、発行者のドキュメントでトークンアドレスが正しいことを確認してください。 Solana Devnet USDCミントアドレスは次の通りです: 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU カスタムトークンの機能をテストする場合、Solanaトークンプログラム(Devnet)またはToken 2022プログラム(Devnet)を使用して独自のトークンをミントする必要があるでしょう。

Solana Devnetで失敗したトランザクションをデバッグする方法

SolanaのDevnetエクスプローラーの一般的な使用例は、Devnetにデプロイされたプログラムのトランザクションをトラブルシューティングしてから、Mainnet-betaにデプロイする前にデバッグすることです。 この例では、ラップドSOLを含むランダムな失敗したトランザクションを見てみましょう。

AIで説明

「AIで説明」ボタンをクリックすると、Raydium CP Swap Programプログラム(DRay…Wpyb)の使用によるスワップが「不足の資金」エラーで失敗したことがわかります(0x1)、これがトークン転送中に発生しました。
Ai Explanation Of A Failed Solana Devnet Transaction On The Orb Explorer Jp

Solana Devnetで失敗したトランザクションを理解するためにOrbのAI解説を利用

ログを確認する

トランザクションをさらにデバッグするには、Logsタブをクリックします。このビューでは、トランザクション中に呼び出されたプログラムの一覧、呼び出された命令、消費したコンピュート単位の数、ステータス(成功または失敗)を示しています。
Debug On Chain Program Errors On The Orb Solana Devnet Explorer Jp

OrbのSolana Devnetエクスプローラーで失敗したトランザクションログを見つける

この特定の例では、トークンプログラムのTransferChecked命令中に、プログラムが「不足の資金」エラーを記録し、0x1エラーを返したことがわかります。

生の出力を調査する

これをさらにデバッグするには、生の出力を見て、どのウォレットが原因か、転送しようとしていたトークン、トランザクション前の残高を確認します。
Solana Devnet Token Transfer Raw Instruction Logs On The Orb Explorer Jp

OrbでSolana Devnetトランザクションの生のJSON出力を読む

ここでは、innerInstruction(インデックス2、または3番目の命令)がタイプTransferCheckedであり、DaHE...8R8iトークン(Wildlife Conservation Coin)をGVBbU...5TUPトークンアカウントからBzi4...tuvFウォレットの目的地トークンアカウントに送信しようとしていることがわかります。 スクロールダウンすると、命令ログがインデックス2の内部命令がトークンプログラムのTransferChecked命令で資金不足エラーを記録したことを確認しました。
Raw Json Parsed Instruction Logs On The Orb Solana Devnet Explorer Jp

Orb DevnetエクスプローラーでSolanaトークンプログラムの「不足の資金」エラーが記録されているのを見つける

DRay…WpYbRaydium CP Swap Programプログラムであることを知っているので、流動性プールがDaHE...8R8iトークンを保持していて、要求されたスワップサイズを完了するのに十分ではなかったと仮定できます。

Solana Devnet プログラムアドレスを見つける方法

Solana Devnet エクスプローラーのもう一つの一般的な使用例は、テスト目的でDevnetにデプロイされたプログラムのプログラムIDを見つけることです。 Solana Mainnet-beta のプログラムを探索するのと同じように、クラスターを Devnet に変更し、プログラム名で検索し、結果をクリックします。 検索しているプログラムがタグ付けされていない場合は、弊社チームにご連絡ください。

コア Solana Devnet プログラムID

ここにDevnetにデプロイされた最も重要なコアSolanaプログラムのいくつかを示します:

Solana Devnet アプリ プログラム ID

統合をテストするために、開発者はMetaplex、Jupiter、Pyth、Wormhole、Pump.fun、その他多くの人気のオンチェーン プログラムとテストしたいでしょう。 ここに最も人気のあるSolana DevnetプログラムIDのいくつかを示します: SolanaプログラムをMainnet-betaでリサーチするのと同じように、OrbのDevnetプログラムビューアは取引履歴、IDL、検証詳細、セキュリティ情報、権限を提供します。
Solana Devnet Program Idl Explorer On Orb For The Wormhole Core Bridge Contract Jp

Solana DevnetにデプロイされたWormholeのCore Bridgeプログラム用のIDLをOrbエクスプローラで表示

結論

Solana Devnetでプログラムをデプロイし、エラーをデバッグすることはSolana開発ライフサイクルの重要なステップです。Orbは、開発者がオンチェーンで何が起こっているかを理解し、問題を見つけて修正するのを容易にする、迅速で人間が読めるSolana Devnetブロックチェーンエクスプローラーです。 Orbについての詳細は、発表ユーザーガイドをご覧ください。 Solana Devnetの代替として、新しい開発者ツールのSurfpoolを探索しましょう。