Introspezione delle istruzioni

Riepilogo

Il sysvar Instructions (Sysvar1nstructions1111111111111111111111111) consente a un programma di leggere tutte le istruzioni di livello superiore nella transazione corrente per indice o offset relativo. Le istruzioni interne CPI non sono accessibili.

Sysvar Instructions

I programmi possono ispezionare tutte le istruzioni di livello superiore nella transazione corrente tramite il sysvar Instructions (Sysvar1nstructions1111111111111111111111111). Questo consente a un programma di ispezionare le altre istruzioni nella stessa transazione, ad esempio per verificare che un'istruzione specifica sia nella stessa transazione dell'istruzione che sta eseguendo.

Il sysvar Instructions contiene solo le istruzioni di livello superiore dal messaggio della transazione. Le istruzioni interne invocate tramite CPI non sono accessibili attraverso questo sysvar.

Il sysvar instructions non è accessibile tramite il normale trait Sysvar. Invece, è accessibile tramite funzioni libere nel crate solana_instructions_sysvar.

I dati del sysvar sono serializzati con un layout binario personalizzato:

OffsetDimensioneDescrizione
02num_instructions (u16, little-endian)
22 * NOffset di byte per ogni istruzione (u16 ciascuno)
variabilevariabileDati dell'istruzione serializzati
ultimi 2 byte2Indice dell'istruzione corrente (u16, little-endian)

Ogni istruzione serializzata contiene: il numero di account (u16), gli account come voci da 33 byte (1 byte di flag + pubkey da 32 byte), l'ID del programma (32 byte), la lunghezza dei dati (u16) e i byte di dati grezzi.

Funzioni chiave:

Is this page helpful?

Indice dei contenuti

Modifica pagina

Gestito da

© 2026 Solana Foundation.
Tutti i diritti riservati.
Resta connesso