Περίληψη
Τα βασικά προγράμματα παρέχουν θεμελιώδη λειτουργικότητα δικτύου: διαχείριση λογαριασμών (System Program), συναίνεση (Vote, Stake), βελτιστοποίηση συναλλαγών (Compute Budget, Address Lookup Table) και απόρρητο (ZK ElGamal Proof). Περιλαμβάνει αναφορά εντολών του System Program και συνδέσμους πηγαίου κώδικα για όλα τα 7 προγράμματα.
Το System Program
Το System Program (11111111111111111111111111111111) είναι το μόνο πρόγραμμα
που μπορεί να δημιουργήσει νέους λογαριασμούς. Όλοι οι νέοι λογαριασμοί ανήκουν
αρχικά στο System Program, αν και η κυριότητα συνήθως ανατίθεται εκ νέου κατά τη
δημιουργία. Το System Program καταναλώνει
DEFAULT_COMPUTE_UNITS
(150 CUs) ανά εντολή.
Αναφορά εντολών του System Program
| Εντολή | Περιγραφή |
|---|---|
CreateAccount | Δημιουργεί νέο λογαριασμό. Εκχωρεί space bytes, αναθέτει owner και μεταφέρει lamports από τον πληρωτή. Ο νέος λογαριασμός και ο πληρωτής πρέπει να υπογράψουν. |
CreateAccountWithSeed | Όπως το CreateAccount, αλλά παράγει τη διεύθυνση του νέου λογαριασμού από το pubkey ενός λογαριασμού, ένα seed string και το πρόγραμμα κατόχου. Ο λογαριασμός του οποίου το pubkey χρησιμοποιήθηκε για την παραγωγή της διεύθυνσης και ο πληρωτής πρέπει να υπογράψουν. |
Assign | Ορίζει τον κάτοχο του λογαριασμού. Ο λογαριασμός πρέπει να υπογράψει. Καμία ενέργεια αν είναι ήδη αυτός ο κάτοχος. |
AssignWithSeed | Όπως το Assign, αλλά για διεύθυνση που παράγεται από seed. Ο λογαριασμός του οποίου το pubkey χρησιμοποιήθηκε για την παραγωγή της διεύθυνσης πρέπει να υπογράψει. |
Transfer | Μεταφέρει lamports μεταξύ λογαριασμών. Ο αποστολέας πρέπει να υπογράψει. |
TransferWithSeed | Όπως το Transfer, αλλά από διεύθυνση που παράγεται από seed. Ο λογαριασμός του οποίου το pubkey χρησιμοποιήθηκε για την παραγωγή της διεύθυνσης πρέπει να υπογράψει. |
Allocate | Ορίζει το μήκος δεδομένων του λογαριασμού. Ο λογαριασμός πρέπει να υπογράψει, να έχει κενά δεδομένα και να ανήκει στο System Program. Μέγιστο 10 MiB. |
AllocateWithSeed | Όπως το Allocate, αλλά για διεύθυνση που παράγεται από seed. Επίσης αναθέτει τον κάτοχο. Ο λογαριασμός του οποίου το pubkey χρησιμοποιήθηκε για την παραγωγή της διεύθυνσης πρέπει να υπογράψει. |
AdvanceNonceAccount | Προωθεί την τιμή nonce στο τρέχον blockhash. Η εξουσία nonce πρέπει να υπογράψει. |
InitializeNonceAccount | Αρχικοποιεί έναν λογαριασμό ως λογαριασμό nonce με τη δεδομένη εξουσία. Ο λογαριασμός πρέπει να είναι απαλλαγμένος από rent. |
AuthorizeNonceAccount | Αλλάζει την εξουσία nonce. Η τρέχουσα εξουσία πρέπει να υπογράψει. |
WithdrawNonceAccount | Αποσύρει lamports από λογαριασμό nonce. Η εξουσία πρέπει να υπογράψει. Αν δεν κλείνει, το υπόλοιπο που απομένει πρέπει να καλύπτει το rent. |
UpgradeNonceAccount | Αναβαθμίζει έναν λογαριασμό nonce από παλαιού τύπου σε τρέχουσα μορφή έκδοσης. Ο λογαριασμός πρέπει να είναι εγγράψιμος και να περιέχει παλαιού τύπου έκδοση nonce. |
Όλα τα βασικά προγράμματα
| Πρόγραμμα | Αναγνωριστικό προγράμματος | Περιγραφή | Πηγή |
|---|---|---|---|
| System | 11111111111111111111111111111111 | Δημιουργεί λογαριασμούς, μεταφέρει SOL, εκχωρεί δεδομένα και αναθέτει κυριότητα | Πηγή |
| Vote | Vote111111111111111111111111111111111111111 | Δημιουργεί και διαχειρίζεται λογαριασμούς που παρακολουθούν την κατάσταση ψηφοφορίας και τις ανταμοιβές των validators | Πηγή |
| Stake | Stake11111111111111111111111111111111111111 | Δημιουργεί και διαχειρίζεται αναθέσεις stake σε validators | Πηγή |
| Config | Config1111111111111111111111111111111111111 | Αποθηκεύει δεδομένα διαμόρφωσης on-chain με έλεγχο πρόσβασης βάσει κλειδιών | Πηγή |
| Compute Budget | ComputeBudget111111111111111111111111111111 | Ορίζει όρια μονάδων υπολογισμού και προτεραιότητα χρεώσεων για συναλλαγές | Πηγή |
| Address Lookup Table | AddressLookupTab1e1111111111111111111111111 | Διαχειρίζεται πίνακες αναζήτησης διευθύνσεων για συναλλαγές που αναφέρονται σε πολλούς λογαριασμούς | Πηγή |
| ZK ElGamal Proof | ZkE1Gama1Proof11111111111111111111111111111 | Επαληθεύει αποδείξεις μηδενικής γνώσης για κρυπτογραφημένα δεδομένα ElGamal | Πηγή |
Προγράμματα φόρτωσης
Κάθε πρόγραμμα ανήκει σε ένα πρόγραμμα φόρτωσης. Τα προγράμματα φόρτωσης χειρίζονται την ανάπτυξη, την αναβάθμιση και την εκτέλεση των προγραμμάτων που κατέχουν. Δείτε Προγράμματα φόρτωσης για την πλήρη λίστα των προγραμμάτων φόρτωσης και των διευθύνσεών τους.
Is this page helpful?