Une instruction est une demande d'exécution d'une fonction spécifique sur un programme Solana. Les instructions sont le bloc de construction fondamental pour les opérations on-chain. Chaque instruction spécifie exactement un programme à appeler, les comptes dont elle a besoin, et un tableau d'octets de données que le programme interprète (généralement un discriminateur pour identifier quel gestionnaire d'instruction exécuter, suivi d'arguments sérialisés). La logique d'exécution de chaque instruction est stockée sur un programme, où chaque programme définit son propre ensemble d'instructions. Pour interagir avec le réseau Solana, une ou plusieurs instructions sont ajoutées à une transaction et envoyées au réseau pour être traitées.
Diagramme représentant une transaction avec une instruction, décomposée en ses 3 composants
Structure d'instruction
Les trois champs d'une instruction (program_id, accounts, data), AccountMeta, les instructions compilées et l'exemple de transfert SOL.
Introspection d'instruction
Comment les programmes inspectent les instructions sœurs dans la transaction actuelle via le sysvar Instructions.
Points clés
- Programme unique : chaque instruction cible exactement un programme via
program_id. - Métadonnées de compte : le tableau
accountsfournitAccountMetapour chaque compte que l'instruction lit ou écrit. - Données opaques : le champ
dataest un tableau d'octets dont le format est défini par le programme cible.
Is this page helpful?