Ενδοσκόπηση εντολών

Περίληψη

Το Instructions sysvar (Sysvar1nstructions1111111111111111111111111) επιτρέπει σε ένα πρόγραμμα να διαβάσει όλες τις εντολές ανώτατου επιπέδου στην τρέχουσα συναλλαγή με δείκτη ή σχετική μετατόπιση. Οι εσωτερικές εντολές CPI δεν είναι προσβάσιμες.

Instructions sysvar

Τα προγράμματα μπορούν να επιθεωρήσουν όλες τις εντολές ανώτατου επιπέδου στην τρέχουσα συναλλαγή μέσω του Instructions sysvar (Sysvar1nstructions1111111111111111111111111). Αυτό επιτρέπει σε ένα πρόγραμμα να επιθεωρήσει τις άλλες εντολές στην ίδια συναλλαγή, για παράδειγμα για να επαληθεύσει ότι μια συγκεκριμένη εντολή βρίσκεται στην ίδια συναλλαγή με την εντολή που εκτελεί.

Το Instructions sysvar περιέχει μόνο εντολές ανώτατου επιπέδου από το μήνυμα συναλλαγής. Οι εσωτερικές εντολές που καλούνται μέσω CPI δεν είναι προσβάσιμες μέσω αυτού του sysvar.

Το instructions sysvar δεν προσπελαύνεται μέσω του κανονικού Sysvar trait. Αντίθετα, προσπελαύνεται μέσω ελεύθερων συναρτήσεων στο solana_instructions_sysvar crate.

Τα δεδομένα του sysvar σειριοποιούνται με προσαρμοσμένη δυαδική διάταξη:

ΜετατόπισηΜέγεθοςΠεριγραφή
02num_instructions (u16, little-endian)
22 * NΜετατοπίσεις byte για κάθε εντολή (u16 η καθεμία)
μεταβλητόμεταβλητόΣειριοποιημένα δεδομένα εντολών
τελευταία 2 bytes2Δείκτης τρέχουσας εντολής (u16, little-endian)

Κάθε σειριοποιημένη εντολή περιέχει: τον αριθμό των λογαριασμών (u16), τους λογαριασμούς ως καταχωρήσεις 33 bytes (1 byte σημαίας + 32-byte pubkey), το program ID (32 bytes), το μήκος δεδομένων (u16) και τα ακατέργαστα bytes δεδομένων.

Βασικές λειτουργίες:

Is this page helpful?

Πίνακας Περιεχομένων

Επεξεργασία Σελίδας

Διαχειρίζεται από

© 2026 Ίδρυμα Solana.
Με επιφύλαξη παντός δικαιώματος.
Συνδεθείτε