Riferimento della CLI di Solana

L'interfaccia a riga di comando solana configura la connessione a un cluster, legge lo stato della rete, invia SOL, gestisce i durable nonce, distribuisce i programmi e gestisce gli account di stake e di voto.

Questo riferimento segue Agave v4.2.1. Esegui solana --version per controllare la versione installata e usa --help per vedere le opzioni esatte disponibili in quella versione.

I comandi che creano, trasferiscono, autorizzano, prelevano o distribuiscono inviano transazioni. Verifica il cluster e il firmatario configurati prima di eseguirli. I token di Devnet e Testnet non hanno alcun valore; i comandi su Mainnet usano SOL reali.

Struttura dei comandi

solana [GLOBAL_OPTIONS] <COMMAND> [COMMAND_OPTIONS]

Ottieni aiuto a qualsiasi livello:

solana --help
solana transfer --help
solana address-lookup-table extend --help

Opzioni globali

Le opzioni globali possono essere inserite prima del comando. La guida specifica del comando ripete le opzioni che si applicano a quel comando.

OpzioneScopo
-u, --url <URL_OR_MONIKER>Seleziona un URL RPC oppure mainnet-beta, testnet, devnet o localhost.
--ws <URL>Sovrascrive l'endpoint WebSocket.
-k, --keypair <KEYPAIR>Seleziona un file keypair, ASK, lo stdin (-) o un URL di firmatario supportato.
-C, --config <FILEPATH>Usa un file di configurazione della CLI diverso.
--commitment <LEVEL>Legge con livello di commitment processed, confirmed o finalized.
--output <FORMAT>Restituisce json o json-compact dove supportato.
--skip-preflightInvia senza simulazione RPC. Usalo solo se si comprendono i compromessi in caso di errore.
--use-tpu-clientInvia le transazioni tramite il client TPU.
--no-address-labelsStampa gli indirizzi senza etichette locali.
--skip-seed-phrase-validationConsente una frase di recupero non presente nell'elenco inglese BIP39.
-v, --verboseMostra un output aggiuntivo del comando.
-V, --versionStampa la versione della CLI installata.

Configurare la CLI

# Inspect the effective configuration.
solana config get
# Use Devnet and a specific signer by default.
solana config set --url devnet
solana config set --keypair ./devnet-keypair.json
# Override defaults for one command.
solana --url mainnet-beta --keypair usb://ledger address

La configurazione contiene un URL RPC, un URL WebSocket, il firmatario predefinito e il commitment. Un'opzione da riga di comando sovrascrive il valore salvato per quella singola invocazione.

Flussi di lavoro comuni per account e transazioni

# Print the default signer's address and balance.
solana address
solana balance
# Read an account as JSON.
solana account <ACCOUNT_ADDRESS> --output json
# Request Devnet SOL.
solana airdrop 1 --url devnet
# Send SOL and then confirm the returned signature.
solana transfer <RECIPIENT_ADDRESS> 0.1 --allow-unfunded-recipient
solana confirm <TRANSACTION_SIGNATURE>
# Inspect recent activity and stream logs mentioning an address.
solana transaction-history <ADDRESS> --limit 20
solana logs <ADDRESS>

transfer accetta SOL per impostazione predefinita. Usa ALL come importo per trasferire il saldo disponibile al netto delle commissioni. Per esempi sui token, consulta la guida rapida ai token.

Flussi di lavoro dei programmi

# Deploy or upgrade an SBF program.
solana program deploy ./target/deploy/my_program.so
# Inspect the deployed program and list programs controlled by the signer.
solana program show <PROGRAM_ID>
solana program show --programs
# Close a program buffer and recover its lamports.
solana program close <BUFFER_ADDRESS>

Passa --program-id <KEYPAIR_OR_ADDRESS> quando un deployment deve usare un ID di programma noto. --final rende immutabile un nuovo deployment; leggi attentamente la sua guida prima di usarlo, perché l'upgrade authority non può essere ripristinata.

Flussi di lavoro dei durable nonce

solana-keygen new --outfile nonce-account.json
solana create-nonce-account nonce-account.json 0.1
solana nonce nonce-account.json
solana new-nonce nonce-account.json
solana withdraw-from-nonce-account nonce-account.json <RECIPIENT_ADDRESS> ALL

Usa authorize-nonce-account per cambiare la nonce authority e nonce-account per ispezionare lo stato completo dell'account. Le transazioni che usano un nonce accettano anche --nonce e --nonce-authority nei comandi supportati.

Flussi di lavoro dello stake

solana-keygen new --outfile stake-account.json
solana create-stake-account stake-account.json 1
solana delegate-stake stake-account.json <VOTE_ACCOUNT_ADDRESS>
solana stake-account stake-account.json
solana deactivate-stake stake-account.json
solana withdraw-stake stake-account.json <RECIPIENT_ADDRESS> ALL

La disattivazione si completa al confine di un epoch e può richiedere più di un epoch. Usa stakes, validators, stake-history e stake-minimum-delegation per ispezionare lo stato del cluster e delle deleghe prima di inviare modifiche.

Utilità per gli indirizzi

# Derive a PDA from typed seeds.
solana find-program-derived-address \
<PROGRAM_ID> \
string:profile \
pubkey:<OWNER_ADDRESS>
# Create and extend an address lookup table.
solana address-lookup-table create
solana address-lookup-table extend \
<LOOKUP_TABLE_ADDRESS> \
--addresses <ADDRESS_1>,<ADDRESS_2>

I seed dei PDA usano PREFIX:VALUE. I prefissi supportati includono string, pubkey, hex, u8 e codifiche di interi con segno o senza segno a larghezza fissa, come u64le.

Messaggi off-chain e completamento della shell

solana sign-offchain-message "terms accepted"
solana verify-offchain-signature \
"terms accepted" \
<SIGNATURE> \
--signer <SIGNER_ADDRESS>
# Print a completion script for the current shell.
solana completion --shell zsh

Indice completo dei comandi

Il seguente indice include ogni comando di primo livello in Agave v4.2.1. Comandi come program, config, feature e address-lookup-table contengono comandi annidati; esegui <command> --help per elencarli.

ComandoDescrizione
accountMostra i lamport, il proprietario, i dati e lo stato eseguibile di un account.
addressStampa la chiave pubblica del firmatario selezionato.
address-lookup-tableCrea, estende, blocca, disattiva, chiude e ispeziona le address lookup table.
airdropRichiede SOL a un faucet del cluster.
alpenglow-genesis-infoLegge le informazioni sul certificato genesis di Alpenglow.
authorize-nonce-accountAssegna l'authority di un account durable nonce.
balanceMostra il saldo in SOL di un account.
blockRecupera un blocco confermato in base allo slot.
block-heightMostra l'altezza di blocco corrente.
block-productionMostra la produzione di blocchi del leader per un intervallo di slot.
block-timeStima il momento di produzione di un blocco.
catchupAttende che un validator si allinei al cluster.
close-vote-accountChiude un account di voto e preleva i fondi rimanenti.
cluster-dateStima la data del cluster dal tempo di genesis e dal tempo di rete.
cluster-versionMostra la versione del software dell'entrypoint del cluster.
completionGenera uno script di completamento per la shell.
configLegge o imposta i valori predefiniti della CLI.
confirmControlla lo stato di conferma della firma di una transazione.
create-address-with-seedDeriva un indirizzo di sistema da una base, un seed e un ID di programma.
create-nonce-accountCrea e inizializza un account durable nonce.
create-stake-accountCrea un account di stake.
create-stake-account-checkedCrea un account di stake verificando la withdraw authority come firmatario.
create-vote-accountCrea un account di voto del validator.
deactivate-stakeAvvia la disattivazione dello stake delegato.
decode-transactionDecodifica una transazione serializzata.
delegate-stakeDelega un account di stake a un account di voto.
epochMostra il numero dell'epoch corrente.
epoch-infoMostra informazioni su epoch, slot, altezza di blocco e numero di transazioni.
featureIspeziona e gestisce gli account delle feature del runtime.
find-program-derived-addressDeriva un PDA e il bump canonico a partire da seed tipizzati.
first-available-blockMostra il primo blocco completo conservato dal nodo RPC.
genesis-hashMostra l'hash di genesis del cluster.
gossipElenca i nodi visibili tramite gossip.
helpStampa la guida generale o quella di un comando.
inflationMostra informazioni su governor, tasso o ricompense dell'inflazione.
largest-accountsElenca gli account più grandi del cluster.
leader-scheduleVisualizza la pianificazione dei leader.
live-slotsTrasmette in streaming l'avanzamento dello slot corrente.
logsTrasmette in streaming i log delle transazioni, con filtro opzionale per indirizzo.
merge-stakeUnisce account di stake compatibili.
new-nonceAvanza un durable nonce.
nonceStampa il valore di un durable nonce.
nonce-accountMostra lo stato completo di un account durable nonce.
programDistribuisce, aggiorna, ispeziona, esporta, imposta l'authority o chiude programmi e buffer.
recent-prioritization-feesMostra le commissioni di prioritizzazione recenti per gli account scrivibili.
rentCalcola il minimo esente da rent per la dimensione dei dati di un account.
resolve-signerRisolve un riferimento generico a un firmatario, come un URL Ledger, nel suo percorso specifico.
sign-offchain-messageFirma un messaggio off-chain UTF-8.
slotMostra lo slot corrente.
split-stakeSposta lamport da un account di stake a un altro.
stake-accountMostra le authority, il saldo e lo stato di delega di un account di stake.
stake-authorizeCambia una stake authority o una withdraw authority.
stake-authorize-checkedCambia una stake authority verificando la nuova authority come firmatario.
stake-historyMostra la cronologia di attivazione e disattivazione dello stake del cluster.
stake-minimum-delegationMostra la delega di stake minima del cluster.
stake-set-lockupImposta il lockup di un account di stake.
stake-set-lockup-checkedImposta un lockup verificando il nuovo custode come firmatario.
stakesElenca gli account di stake, con filtro opzionale per validator o authority.
supplyMostra l'offerta di SOL circolante, non circolante e totale.
transaction-countMostra il numero di transazioni del cluster.
transaction-historyElenca le transazioni che coinvolgono un indirizzo, dalla più recente alla meno recente.
transferTrasferisce SOL tra account di sistema.
upgrade-nonce-accountAggiorna in modo idempotente un account nonce legacy.
validator-infoPubblica o legge le informazioni del validator.
validatorsMostra un riepilogo di stake, commissioni, skip rate e versione dei validator.
verify-offchain-signatureVerifica un messaggio off-chain firmato.
vote-accountMostra le authority, la commissione, i crediti e i voti di un account di voto.
vote-authorize-voterCambia la voter authority di un account di voto.
vote-authorize-voter-checkedCambia la voter authority verificando la nuova authority come firmatario.
vote-authorize-withdrawerCambia la withdraw authority di un account di voto.
vote-authorize-withdrawer-checkedCambia la withdraw authority verificando la nuova authority come firmatario.
vote-update-commissionCambia la commissione di un account di voto.
vote-update-validatorCambia l'identità del validator assegnata a un account di voto.
withdraw-from-nonce-accountPreleva una parte o la totalità dei SOL da un account durable nonce.
withdraw-from-vote-accountPreleva lamport da un account di voto.
withdraw-stakePreleva SOL inattivi da un account di stake.

Output per gli script

Usa --output json o --output json-compact dove supportato, invece di eseguire il parsing dell'output leggibile:

solana epoch-info --output json
solana account <ACCOUNT_ADDRESS> --output json-compact
solana validators --output json > validators.json

Non tutti i comandi supportano l'output strutturato. Controlla la guida del comando prima di farvi affidamento nell'automazione e considera uno stato di uscita diverso da zero come un errore.

Is this page helpful?

© 2026 Solana Foundation. Tutti i diritti riservati.