Riepilogo
I programmi core forniscono funzionalità di rete fondamentali: gestione degli account (System Program), consenso (Vote, Stake), ottimizzazione delle transazioni (Compute Budget, Address Lookup Table) e privacy (ZK ElGamal Proof). Include il riferimento alle istruzioni del System Program e i link al codice sorgente per tutti i 7 programmi.
Il System Program
Il System Program (11111111111111111111111111111111) è l'unico programma che
può creare nuovi account. Tutti i nuovi account sono inizialmente di proprietà
del System Program, anche se la proprietà viene tipicamente riassegnata al
momento della creazione. Il System Program consuma
DEFAULT_COMPUTE_UNITS
(150 CU) per istruzione.
Riferimento alle istruzioni del System Program
| Istruzione | Descrizione |
|---|---|
CreateAccount | Crea un nuovo account. Alloca space byte, assegna owner e trasferisce lamports dal pagante. Il nuovo account e il pagante devono firmare. |
CreateAccountWithSeed | Come CreateAccount, ma deriva l'indirizzo del nuovo account da una pubkey di un account, una stringa seed e il programma proprietario. L'account la cui pubkey è stata usata per derivare l'indirizzo e il pagante devono firmare. |
Assign | Imposta il proprietario dell'account. L'account deve firmare. Nessuna operazione se è già quel proprietario. |
AssignWithSeed | Come Assign, ma per un indirizzo derivato da seed. L'account la cui pubkey è stata usata per derivare l'indirizzo deve firmare. |
Transfer | Trasferisce lamport tra account. Il mittente deve firmare. |
TransferWithSeed | Come Transfer, ma da un indirizzo derivato da seed. L'account la cui pubkey è stata usata per derivare l'indirizzo deve firmare. |
Allocate | Imposta la lunghezza dei dati dell'account. L'account deve firmare, avere dati vuoti ed essere di proprietà del System Program. Massimo 10 MiB. |
AllocateWithSeed | Come Allocate, ma per un indirizzo derivato da seed. Assegna anche il proprietario. L'account la cui pubkey è stata usata per derivare l'indirizzo deve firmare. |
AdvanceNonceAccount | Avanza il valore del nonce al blockhash corrente. L'autorità del nonce deve firmare. |
InitializeNonceAccount | Inizializza un account come account nonce con l'autorità specificata. L'account deve essere esente da rent. |
AuthorizeNonceAccount | Cambia l'autorità del nonce. L'autorità corrente deve firmare. |
WithdrawNonceAccount | Preleva lamport da un account nonce. L'autorità deve firmare. Se non si chiude, il saldo rimanente deve coprire il rent. |
UpgradeNonceAccount | Aggiorna un account nonce dal formato legacy alla versione corrente. L'account deve essere scrivibile e contenere una versione nonce legacy. |
Tutti i programmi core
| Programma | ID programma | Descrizione | Sorgente |
|---|---|---|---|
| System | 11111111111111111111111111111111 | Crea account, trasferisce SOL, alloca dati e assegna la proprietà | Sorgente |
| Vote | Vote111111111111111111111111111111111111111 | Crea e gestisce account che tracciano lo stato di voto dei validator e le ricompense | Sorgente |
| Stake | Stake11111111111111111111111111111111111111 | Crea e gestisce deleghe di stake ai validator | Sorgente |
| Config | Config1111111111111111111111111111111111111 | Memorizza dati di configurazione on-chain con controllo degli accessi basato su chiavi | Sorgente |
| Compute Budget | ComputeBudget111111111111111111111111111111 | Imposta limiti di unità di calcolo e commissioni prioritarie per le transazioni | Sorgente |
| Address Lookup Table | AddressLookupTab1e1111111111111111111111111 | Gestisce tabelle di ricerca indirizzi per transazioni che fanno riferimento a molti account | Sorgente |
| ZK ElGamal Proof | ZkE1Gama1Proof11111111111111111111111111111 | Verifica prove a conoscenza zero per dati crittografati con ElGamal | Sorgente |
Programmi loader
Ogni programma è di proprietà di un programma loader. I loader gestiscono il deployment, l'aggiornamento e l'esecuzione dei programmi di cui sono proprietari. Consulta Programmi loader per l'elenco completo dei loader e dei loro indirizzi.
Is this page helpful?