Un'istruzione è una richiesta di eseguire una funzione specifica su un programma Solana. Le istruzioni sono il blocco fondamentale per le operazioni on-chain. Ogni istruzione specifica esattamente un programma da chiamare, gli account di cui ha bisogno e un byte array 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?