Μια εντολή (instruction) είναι ένα αίτημα για την εκτέλεση μιας συγκεκριμένης λειτουργίας σε ένα πρόγραμμα Solana. Οι εντολές αποτελούν τον θεμελιώδη δομικό λίθο για τις onchain λειτουργίες. Κάθε εντολή καθορίζει ακριβώς ένα πρόγραμμα προς κλήση, τους λογαριασμούς που χρειάζεται και έναν πίνακα 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?