Programmi core

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

IstruzioneDescrizione
CreateAccountCrea un nuovo account. Alloca space byte, assegna owner e trasferisce lamports dal pagante. Il nuovo account e il pagante devono firmare.
CreateAccountWithSeedCome 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.
AssignImposta il proprietario dell'account. L'account deve firmare. Nessuna operazione se è già quel proprietario.
AssignWithSeedCome Assign, ma per un indirizzo derivato da seed. L'account la cui pubkey è stata usata per derivare l'indirizzo deve firmare.
TransferTrasferisce lamport tra account. Il mittente deve firmare.
TransferWithSeedCome Transfer, ma da un indirizzo derivato da seed. L'account la cui pubkey è stata usata per derivare l'indirizzo deve firmare.
AllocateImposta la lunghezza dei dati dell'account. L'account deve firmare, avere dati vuoti ed essere di proprietà del System Program. Massimo 10 MiB.
AllocateWithSeedCome 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.
AdvanceNonceAccountAvanza il valore del nonce al blockhash corrente. L'autorità del nonce deve firmare.
InitializeNonceAccountInizializza un account come account nonce con l'autorità specificata. L'account deve essere esente da rent.
AuthorizeNonceAccountCambia l'autorità del nonce. L'autorità corrente deve firmare.
WithdrawNonceAccountPreleva lamport da un account nonce. L'autorità deve firmare. Se non si chiude, il saldo rimanente deve coprire il rent.
UpgradeNonceAccountAggiorna un account nonce dal formato legacy alla versione corrente. L'account deve essere scrivibile e contenere una versione nonce legacy.

Tutti i programmi core

ProgrammaID programmaDescrizioneSorgente
System11111111111111111111111111111111Crea account, trasferisce SOL, alloca dati e assegna la proprietàSorgente
VoteVote111111111111111111111111111111111111111Crea e gestisce account che tracciano lo stato di voto dei validator e le ricompenseSorgente
StakeStake11111111111111111111111111111111111111Crea e gestisce deleghe di stake ai validatorSorgente
ConfigConfig1111111111111111111111111111111111111Memorizza dati di configurazione on-chain con controllo degli accessi basato su chiaviSorgente
Compute BudgetComputeBudget111111111111111111111111111111Imposta limiti di unità di calcolo e commissioni prioritarie per le transazioniSorgente
Address Lookup TableAddressLookupTab1e1111111111111111111111111Gestisce tabelle di ricerca indirizzi per transazioni che fanno riferimento a molti accountSorgente
ZK ElGamal ProofZkE1Gama1Proof11111111111111111111111111111Verifica prove a conoscenza zero per dati crittografati con ElGamalSorgente

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?

Indice dei contenuti

Modifica pagina

Gestito da

© 2026 Solana Foundation.
Tutti i diritti riservati.
Resta connesso