Επτά έννοιες αποτελούν τη βάση της ανάπτυξης στο Solana. Ξεκινήστε με τους Λογαριασμούς και τα Προγράμματα, έπειτα παρακολουθήστε πώς οι Εντολές γίνονται Συναλλαγές. Τα PDAs, τα CPIs και τα Τέλη βασίζονται σε αυτό το μοντέλο εκτέλεσης.
Λογαριασμοί
Το Solana αποθηκεύει όλη την κατάσταση σε λογαριασμούς, ένα κατάστιχο κλειδιού-τιμής με κλειδί διευθύνσεων 32 byte. Κάθε λογαριασμός έχει πέντε πεδία: lamports, data, owner, executable και rent_epoch.
Προγράμματα
Τα έξυπνα συμβόλαια του Solana, μεταγλωττισμένα σε sBPF. Τα προγράμματα είναι χωρίς κατάσταση και όλη η μεταβλητή κατάσταση βρίσκεται σε ξεχωριστούς λογαριασμούς δεδομένων που μεταβιβάζονται μέσω εντολών.
Εντολές
Ένα αίτημα εκτέλεσης ενός προγράμματος, που περιέχει ένα αναγνωριστικό προγράμματος, λίστα λογαριασμών και αδιαφανή bytes δεδομένων. Πολλαπλές εντολές συνθέτονται σε μία μόνο συναλλαγή.
Συναλλαγές
Η ατομική μονάδα εκτέλεσης στο Solana. Περιέχει υπογραφές και ένα μήνυμα (διευθύνσεις λογαριασμών, πρόσφατο blockhash και μεταγλωττισμένες εντολές). Μέγιστο 1232 bytes, ή 4096 με τη μορφή v1.
Τέλη
Βασικό τέλος 5.000 lamports ανά υπογραφή, συν προαιρετικό τέλος προτεραιότητας βάσει των ζητούμενων μονάδων υπολογισμού. Μέγιστο 1,4 εκατ. μονάδες υπολογισμού ανά συναλλαγή.
Program Derived Addresses (PDAs)
Ντετερμινιστικές διευθύνσεις που προκύπτουν από ένα αναγνωριστικό προγράμματος και seeds. Μόνο το κατέχον πρόγραμμα μπορεί να υπογράψει εκ μέρους ενός PDA μέσω του invoke_signed.
Cross-Program Invocations (CPIs)
Ένα πρόγραμμα καλεί ένα άλλο μέσω invoke ή invoke_signed. Τα προνόμια υπογράφοντα και εγγράψιμου επεκτείνονται στον καλούμενο. Μέγιστο βάθος στοίβας εντολών 5 (κορυφαίο επίπεδο συν CPIs).
Πρόσθετα Θέματα
Περιουσιακά Στοιχεία
Αντιμεταθέσιμα και μη αντιμεταθέσιμα ψηφιακά περιουσιακά στοιχεία στο Solana (SPL Token, Token-2022).
Clusters και Endpoints
Mainnet, Devnet και Testnet: ομάδες validator που εξυπηρετούν αιτήματα JSON-RPC.
| Cluster | Δημόσιο RPC Endpoint | Χρήση |
|---|---|---|
| Mainnet | https://api.mainnet.solana.com | Παραγωγή |
| Devnet | https://api.devnet.solana.com | Πειραματισμός προγραμματιστών |
| Testnet | https://api.testnet.solana.com | Δοκιμές validator |
Is this page helpful?