Instruction introspection

概要

Instructions sysvar (Sysvar1nstructions1111111111111111111111111) を使用すると、プログラムは現在のトランザクション内のすべてのトップレベルinstructionsをインデックスまたは相対オフセットで読み取ることができます。CPIインナーinstructionsにはアクセスできません。

Instructions sysvar

プログラムは、Instructions sysvar (Sysvar1nstructions1111111111111111111111111) を介して、現在のトランザクション内のすべてのトップレベルinstructionsを検査できます。これにより、プログラムは同じトランザクション内の他のinstructionsを検査できます。例えば、特定のinstructionが実行中のinstructionと同じトランザクション内にあることを確認できます。

Instructions sysvarには、トランザクションメッセージからのトップレベルinstructionsのみが含まれます。CPIを介して呼び出されたインナーinstructionsは、このsysvarを通じてアクセスできません。

Instructions sysvarは、通常の Sysvar トレイトを通じてアクセスされません。代わりに、solana_instructions_sysvar クレート内のフリー関数を通じてアクセスされます。

Sysvarデータは、カスタムバイナリレイアウトでシリアライズされます。

オフセットサイズ説明
02num_instructions (u16、リトルエンディアン)
22 * N各instructionのバイトオフセット (各u16)
可変可変シリアライズされたinstruction data
最後の2バイト2現在のinstructionインデックス (u16、リトルエンディアン)

シリアライズされた各instructionには、アカウント数 (u16)、33バイトエントリとしてのアカウント (1フラグバイト + 32バイトpubkey)、プログラムID (32バイト)、データ長 (u16)、および生データバイトが含まれます。

主要な関数:

Is this page helpful?

目次

ページを編集

管理運営

© 2026 Solana Foundation.
無断転載を禁じます。
つながろう