Un'istruzione è una richiesta di eseguire una funzione specifica su un programma Solana. Le istruzioni sono il componente fondamentale per le operazioni onchain. Ogni istruzione specifica esattamente un programma da chiamare, gli account di cui ha bisogno e un array di byte di dati che il programma interpreta (tipicamente un discriminatore per identificare quale gestore di istruzioni eseguire, seguito da argomenti serializzati). La logica di esecuzione per ogni istruzione è memorizzata su un programma, dove ogni programma definisce il proprio set di istruzioni. Per interagire con la rete Solana, una o più istruzioni vengono aggiunte a una transazione e inviate alla rete per essere elaborate.
Diagramma che mostra una transazione con un'istruzione, suddivisa nei suoi 3 componenti
Struttura dell'istruzione
I tre campi di un'istruzione (program_id, accounts, data), AccountMeta, istruzioni compilate e l'esempio di trasferimento SOL.
Introspezione dell'istruzione
Come i programmi ispezionano le istruzioni sibling nella transazione corrente tramite il sysvar Instructions.
Fatti chiave
- Programma singolo: ogni istruzione si rivolge esattamente a un programma
tramite
program_id. - Metadati dell'account: l'array
accountsfornisceAccountMetaper ogni account che l'istruzione legge o scrive. - Dati opachi: il campo
dataè un byte array il cui formato è definito dal programma di destinazione.
Is this page helpful?