Μια οδηγία είναι ένα αίτημα για την εκτέλεση μιας συγκεκριμένης λειτουργίας σε ένα πρόγραμμα Solana. Οι οδηγίες αποτελούν το θεμελιώδες δομικό στοιχείο για on-chain λειτουργίες. Κάθε οδηγία καθορίζει ακριβώς ένα πρόγραμμα για κλήση, τους λογαριασμούς που χρειάζεται και έναν πίνακα byte δεδομένων που το πρόγραμμα ερμηνεύει (συνήθως ένα discriminator για την αναγνώριση του instruction handler που θα εκτελεστεί, ακολουθούμενο από σειριοποιημένα ορίσματα). Η λογική εκτέλεσης για κάθε οδηγία αποθηκεύεται σε ένα πρόγραμμα, όπου κάθε πρόγραμμα ορίζει το δικό του σύνολο οδηγιών. Για να αλληλεπιδράσετε με το δίκτυο Solana, μία ή περισσότερες οδηγίες προστίθενται σε μια συναλλαγή και αποστέλλονται στο δίκτυο για επεξεργασία.
Διάγραμμα που απεικονίζει μια συναλλαγή με μια οδηγία, χωρισμένη στα 3 συστατικά της
Δομή οδηγίας
Τα τρία πεδία μιας οδηγίας (program_id, accounts, data), AccountMeta, compiled instructions και το παράδειγμα μεταφοράς SOL.
Ενδοσκόπηση οδηγιών
Πώς τα προγράμματα επιθεωρούν τις παράλληλες οδηγίες στην τρέχουσα συναλλαγή μέσω του Instructions sysvar.
Βασικά στοιχεία
- Μονό πρόγραμμα: Κάθε οδηγία στοχεύει ακριβώς ένα πρόγραμμα μέσω του
program_id. - Μεταδεδομένα λογαριασμού: Ο πίνακας
accountsπαρέχειAccountMetaγια κάθε λογαριασμό που η οδηγία διαβάζει ή γράφει. - Αδιαφανή δεδομένα: Το πεδίο
dataείναι ένας πίνακας byte του οποίου η μορφή ορίζεται από το πρόγραμμα-στόχο.
Is this page helpful?