Eine Anweisung ist eine Anforderung, eine bestimmte Funktion auf einem Solana-Programm auszuführen. Anweisungen sind der grundlegende Baustein für Onchain-Operationen. Jede Anweisung gibt genau ein Programm an, das aufgerufen werden soll, die benötigten Accounts und ein Byte-Array von Daten, das das Programm interpretiert (typischerweise ein Diskriminator zur Identifizierung des auszuführenden Instruktionshandlers, gefolgt von serialisierten Argumenten). Die Ausführungslogik für jede Anweisung ist auf einem Programm gespeichert, wobei jedes Programm seinen eigenen Satz an Anweisungen definiert. Um mit dem Solana-Netzwerk zu interagieren, werden eine oder mehrere Anweisungen einer Transaktion hinzugefügt und zur Verarbeitung an das Netzwerk gesendet.
Diagramm, das eine Transaktion mit einer Anweisung zeigt, aufgeteilt in ihre 3 Komponenten
Anweisungsstruktur
Die drei Felder einer Anweisung (program_id, accounts, data), AccountMeta, kompilierte Anweisungen und das SOL-Transfer-Beispiel.
Anweisungsintrospection
Wie Programme Geschwister-Anweisungen in der aktuellen Transaktion über die Instructions-Sysvar inspizieren.
Wichtige Fakten
- Einzelnes Programm: Jede Anweisung zielt über
program_idauf genau ein Programm ab. - Konto-Metadaten: Das
accounts-Array stelltAccountMetafür jedes Konto bereit, das die Anweisung liest oder schreibt. - Opake Daten: Das
data-Feld ist ein Byte-Array, dessen Format vom Zielprogramm definiert wird.
Is this page helpful?