Introspection des instructions

Résumé

Le sysvar Instructions (Sysvar1nstructions1111111111111111111111111) permet à un programme de lire toutes les instructions de niveau supérieur dans la transaction actuelle par index ou décalage relatif. Les instructions internes CPI ne sont pas accessibles.

Sysvar Instructions

Les programmes peuvent inspecter toutes les instructions de niveau supérieur dans la transaction actuelle via le sysvar Instructions (Sysvar1nstructions1111111111111111111111111). Cela permet à un programme d'inspecter les autres instructions dans la même transaction, par exemple pour vérifier qu'une instruction spécifique se trouve dans la même transaction que l'instruction qu'il exécute.

Le sysvar Instructions ne contient que les instructions de niveau supérieur du message de transaction. Les instructions internes invoquées via CPI ne sont pas accessibles via ce sysvar.

Le sysvar instructions n'est pas accessible via le trait Sysvar normal. Au lieu de cela, il est accessible via des fonctions libres dans la crate solana_instructions_sysvar.

Les données du sysvar sont sérialisées avec une disposition binaire personnalisée :

DécalageTailleDescription
02num_instructions (u16, little-endian)
22 * NDécalages d'octets pour chaque instruction (u16 chacun)
variablevariableDonnées d'instruction sérialisées
2 derniers octets2Index de l'instruction actuelle (u16, little-endian)

Chaque instruction sérialisée contient : le nombre de comptes (u16), les comptes sous forme d'entrées de 33 octets (1 octet de drapeau + clé publique de 32 octets), l'ID du programme (32 octets), la longueur des données (u16) et les octets de données brutes.

Fonctions clés :

Is this page helpful?

Table des matières

Modifier la page

Géré par

© 2026 Fondation Solana.
Tous droits réservés.
Restez connecté