Anweisungsintrospection

Zusammenfassung

Die Instructions-Sysvar (Sysvar1nstructions1111111111111111111111111) ermöglicht es einem Programm, alle Top-Level-Anweisungen in der aktuellen Transaktion nach Index oder relativem Offset zu lesen. CPI-innere Anweisungen sind nicht zugänglich.

Instructions-Sysvar

Programme können alle Top-Level-Anweisungen in der aktuellen Transaktion über die Instructions-Sysvar (Sysvar1nstructions1111111111111111111111111) inspizieren. Dies ermöglicht es einem Programm, die anderen Anweisungen in derselben Transaktion zu überprüfen, beispielsweise um zu verifizieren, dass eine bestimmte Anweisung in derselben Transaktion wie die Anweisung enthalten ist, die es gerade ausführt.

Die Instructions-Sysvar enthält nur Top-Level-Anweisungen aus der Transaktionsnachricht. Innere Anweisungen, die über CPI aufgerufen werden, sind nicht über diese Sysvar zugänglich.

Auf die Instructions-Sysvar wird nicht über das normale Sysvar-Trait zugegriffen. Stattdessen erfolgt der Zugriff über freie Funktionen in der solana_instructions_sysvar-Crate.

Die Sysvar-Daten werden mit einem benutzerdefinierten Binärlayout serialisiert:

OffsetGrößeBeschreibung
02num_instructions (u16, Little-Endian)
22 * NByte-Offsets für jede Anweisung (jeweils u16)
variiertvariiertSerialisierte Anweisungsdaten
letzte 2 Bytes2Aktueller Anweisungsindex (u16, Little-Endian)

Jede serialisierte Anweisung enthält: die Anzahl der Konten (u16), die Konten als 33-Byte-Einträge (1 Flag-Byte + 32-Byte-Pubkey), die Programm-ID (32 Bytes), die Datenlänge (u16) und die rohen Datenbytes.

Hauptfunktionen:

Is this page helpful?

Inhaltsverzeichnis

Seite bearbeiten

Verwaltet von

© 2026 Solana Foundation.
Alle Rechte vorbehalten.
Verbinden Sie sich