Référence de la CLI Solana

L'interface en ligne de commande solana configure la connexion à un cluster, lit l'état du réseau, envoie des SOL, gère les nonces durables, déploie des programmes et gère des comptes de stake et de vote.

Cette référence suit Agave v4.2.1. Exécutez solana --version pour vérifier la version installée et utilisez --help pour connaître les options exactes disponibles dans cette version.

Les commandes qui créent, transfèrent, autorisent, retirent ou déploient soumettent des transactions. Vérifiez le cluster configuré et le signataire avant de les exécuter. Les tokens Devnet et Testnet n'ont aucune valeur ; les commandes Mainnet utilisent de vrais SOL.

Structure des commandes

solana [GLOBAL_OPTIONS] <COMMAND> [COMMAND_OPTIONS]

Obtenez de l'aide à n'importe quel niveau :

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

Options globales

Les options globales peuvent être placées avant la commande. L'aide propre à chaque commande reprend les options qui s'appliquent à celle-ci.

OptionObjet
-u, --url <URL_OR_MONIKER>Sélectionne une URL RPC ou mainnet-beta, testnet, devnet ou localhost.
--ws <URL>Remplace le point de terminaison WebSocket.
-k, --keypair <KEYPAIR>Sélectionne un fichier keypair, ASK, l'entrée standard (-) ou une URL de signataire prise en charge.
-C, --config <FILEPATH>Utilise un autre fichier de configuration de la CLI.
--commitment <LEVEL>Lit au niveau de commitment processed, confirmed ou finalized.
--output <FORMAT>Renvoie json ou json-compact lorsque c'est pris en charge.
--skip-preflightEnvoie sans simulation RPC. À utiliser uniquement si les risques d'échec sont bien compris.
--use-tpu-clientEnvoie les transactions via le client TPU.
--no-address-labelsAffiche les adresses sans les libellés locaux.
--skip-seed-phrase-validationAutorise une phrase de récupération ne figurant pas dans la liste anglaise BIP39.
-v, --verboseAffiche une sortie de commande plus détaillée.
-V, --versionAffiche la version installée de la CLI.

Configurer 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 configuration contient une URL RPC, une URL WebSocket, un signataire par défaut et le commitment. Une option en ligne de commande remplace la valeur enregistrée pour cette invocation.

Flux de travail courants pour les comptes et les transactions

# 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 accepte des SOL par défaut. Utilisez ALL comme montant pour transférer le solde disponible après déduction des frais. Pour des exemples avec des tokens, consultez le guide de démarrage rapide des tokens.

Flux de travail des programmes

# 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>

Passez --program-id <KEYPAIR_OR_ADDRESS> lorsqu'un déploiement doit utiliser un ID de programme connu. --final rend un nouveau déploiement immuable ; lisez attentivement son aide avant de l'utiliser, car l'autorité de mise à niveau ne peut pas être restaurée.

Flux de travail des nonces durables

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

Utilisez authorize-nonce-account pour changer l'autorité du nonce et nonce-account pour inspecter l'état complet du compte. Les transactions utilisant un nonce acceptent aussi --nonce et --nonce-authority sur les commandes prises en charge.

Flux de travail du 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 désactivation s'achève à la limite d'un epoch et peut prendre plus d'un epoch. Utilisez stakes, validators, stake-history et stake-minimum-delegation pour inspecter l'état du cluster et des délégations avant de soumettre des modifications.

Utilitaires d'adresses

# 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>

Les seeds PDA utilisent PREFIX:VALUE. Les préfixes pris en charge incluent string, pubkey, hex, u8 et des encodages d'entiers signés ou non signés de largeur fixe, tels que u64le.

Messages hors chaîne et complétion du 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

Index complet des commandes

L'index suivant inclut toutes les commandes de premier niveau d'Agave v4.2.1. Des commandes telles que program, config, feature et address-lookup-table contiennent des sous-commandes ; exécutez <command> --help pour les lister.

CommandeDescription
accountAffiche les lamports, le propriétaire, les données et l'état exécutable d'un compte.
addressAffiche la clé publique du signataire sélectionné.
address-lookup-tableCrée, étend, gèle, désactive, ferme et inspecte des tables de consultation d'adresses.
airdropDemande des SOL à un faucet du cluster.
alpenglow-genesis-infoLit les informations sur le certificat genesis d'Alpenglow.
authorize-nonce-accountAttribue l'autorité d'un compte de nonce durable.
balanceAffiche le solde en SOL d'un compte.
blockRécupère un bloc confirmé par slot.
block-heightAffiche la hauteur de bloc actuelle.
block-productionAffiche la production de blocs du leader sur une plage de slots.
block-timeEstime l'heure de production d'un bloc.
catchupAttend qu'un validator rattrape le cluster.
close-vote-accountFerme un compte de vote et retire les fonds restants.
cluster-dateEstime la date du cluster à partir de l'heure genesis et de l'heure du réseau.
cluster-versionAffiche la version logicielle du point d'entrée du cluster.
completionGénère un script de complétion pour le shell.
configObtient ou définit les valeurs par défaut de la CLI.
confirmVérifie l'état de confirmation de la signature d'une transaction.
create-address-with-seedDérive une adresse système à partir d'une base, d'un seed et d'un ID de programme.
create-nonce-accountCrée et initialise un compte de nonce durable.
create-stake-accountCrée un compte de stake.
create-stake-account-checkedCrée un compte de stake tout en vérifiant l'autorité de retrait comme signataire.
create-vote-accountCrée un compte de vote de validator.
deactivate-stakeLance la désactivation du stake délégué.
decode-transactionDécode une transaction sérialisée.
delegate-stakeDélègue un compte de stake à un compte de vote.
epochAffiche le numéro de l'epoch actuel.
epoch-infoAffiche les informations sur l'epoch, le slot, la hauteur de bloc et le nombre de transactions.
featureInspecte et gère les comptes de fonctionnalités du runtime.
find-program-derived-addressDérive une PDA et le bump canonique à partir de seeds typés.
first-available-blockAffiche le premier bloc complet conservé par le nœud RPC.
genesis-hashAffiche le hash genesis du cluster.
gossipListe les nœuds visibles via le gossip.
helpAffiche l'aide générale ou celle d'une commande.
inflationAffiche les informations sur le gouverneur d'inflation, le taux ou les récompenses.
largest-accountsListe les plus gros comptes du cluster.
leader-scheduleAffiche le calendrier des leaders.
live-slotsDiffuse en continu la progression du slot actuel.
logsDiffuse en continu les journaux de transactions, avec un filtrage facultatif par adresse.
merge-stakeFusionne des comptes de stake compatibles.
new-nonceFait avancer un nonce durable.
nonceAffiche la valeur d'un nonce durable.
nonce-accountAffiche l'état complet d'un compte de nonce durable.
programDéploie, met à niveau, inspecte, exporte, définit l'autorité de, ou ferme des programmes et des buffers.
recent-prioritization-feesAffiche les frais de priorisation récents pour les comptes modifiables.
rentCalcule le minimum d'exemption de rent pour une taille de données de compte.
resolve-signerRésout une référence de signataire générique, telle qu'une URL Ledger, vers son chemin spécifique.
sign-offchain-messageSigne un message hors chaîne en UTF-8.
slotAffiche le slot actuel.
split-stakeTransfère des lamports d'un compte de stake vers un autre.
stake-accountAffiche les autorités, le solde et l'état de délégation d'un compte de stake.
stake-authorizeChange l'autorité de stake ou de retrait.
stake-authorize-checkedChange une autorité de stake tout en vérifiant la nouvelle autorité comme signataire.
stake-historyAffiche l'historique d'activation et de désactivation du stake du cluster.
stake-minimum-delegationAffiche la délégation de stake minimale du cluster.
stake-set-lockupDéfinit le lockup d'un compte de stake.
stake-set-lockup-checkedDéfinit un lockup tout en vérifiant le nouveau custodian comme signataire.
stakesListe les comptes de stake, avec un filtrage facultatif par validator ou par autorité.
supplyAffiche l'offre de SOL en circulation, hors circulation et totale.
transaction-countAffiche le nombre de transactions du cluster.
transaction-historyListe les transactions impliquant une adresse, de la plus récente à la plus ancienne.
transferTransfère des SOL entre comptes système.
upgrade-nonce-accountMet à niveau de façon idempotente un ancien compte de nonce.
validator-infoPublie ou lit les informations d'un validator.
validatorsAffiche un récapitulatif des validators : stake, commission, taux de skip et version.
verify-offchain-signatureVérifie un message hors chaîne signé.
vote-accountAffiche les autorités, la commission, les crédits et les votes d'un compte de vote.
vote-authorize-voterChange l'autorité de vote d'un compte de vote.
vote-authorize-voter-checkedChange l'autorité de vote tout en vérifiant la nouvelle autorité comme signataire.
vote-authorize-withdrawerChange l'autorité de retrait d'un compte de vote.
vote-authorize-withdrawer-checkedChange l'autorité de retrait tout en vérifiant la nouvelle autorité comme signataire.
vote-update-commissionChange la commission d'un compte de vote.
vote-update-validatorChange l'identité du validator associée à un compte de vote.
withdraw-from-nonce-accountRetire tout ou partie des SOL d'un compte de nonce durable.
withdraw-from-vote-accountRetire des lamports d'un compte de vote.
withdraw-stakeRetire des SOL inactifs d'un compte de stake.

Sortie pour les scripts

Utilisez --output json ou --output json-compact lorsque c'est pris en charge, plutôt que d'analyser une sortie lisible par un humain :

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

Toutes les commandes ne prennent pas en charge la sortie structurée. Consultez l'aide de la commande avant de vous y fier dans une automatisation, et considérez un code de sortie non nul comme un échec.

Is this page helpful?

© 2026 Fondation Solana. Tous droits réservés.