Eine Anweisung ist eine Anforderung, eine bestimmte Funktion in einem Solana-Programm auszuführen. Anweisungen sind der grundlegende Baustein für On-Chain-Operationen. Jede Anweisung spezifiziert genau ein aufzurufendes Programm, die benötigten Konten und ein Byte-Array von Daten, das das Programm interpretiert (typischerweise ein Diskriminator zur Identifizierung des auszuführenden Anweisungs-Handlers, gefolgt von serialisierten Argumenten). Die Ausführungslogik für jede Anweisung ist in einem Programm gespeichert, wobei jedes Programm seinen eigenen Satz von Anweisungen definiert. Um mit dem Solana-Netzwerk zu interagieren, werden eine oder mehrere Anweisungen zu 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?