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 --helpsolana transfer --helpsolana 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.
| Option | Objet |
|---|---|
-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-preflight | Envoie sans simulation RPC. À utiliser uniquement si les risques d'échec sont bien compris. |
--use-tpu-client | Envoie les transactions via le client TPU. |
--no-address-labels | Affiche les adresses sans les libellés locaux. |
--skip-seed-phrase-validation | Autorise une phrase de récupération ne figurant pas dans la liste anglaise BIP39. |
-v, --verbose | Affiche une sortie de commande plus détaillée. |
-V, --version | Affiche 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 devnetsolana 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 addresssolana 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-recipientsolana confirm <TRANSACTION_SIGNATURE># Inspect recent activity and stream logs mentioning an address.solana transaction-history <ADDRESS> --limit 20solana 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.jsonsolana create-nonce-account nonce-account.json 0.1solana nonce nonce-account.jsonsolana new-nonce nonce-account.jsonsolana 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.jsonsolana create-stake-account stake-account.json 1solana delegate-stake stake-account.json <VOTE_ACCOUNT_ADDRESS>solana stake-account stake-account.jsonsolana deactivate-stake stake-account.jsonsolana 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 createsolana 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.
| Commande | Description |
|---|---|
account | Affiche les lamports, le propriétaire, les données et l'état exécutable d'un compte. |
address | Affiche la clé publique du signataire sélectionné. |
address-lookup-table | Crée, étend, gèle, désactive, ferme et inspecte des tables de consultation d'adresses. |
airdrop | Demande des SOL à un faucet du cluster. |
alpenglow-genesis-info | Lit les informations sur le certificat genesis d'Alpenglow. |
authorize-nonce-account | Attribue l'autorité d'un compte de nonce durable. |
balance | Affiche le solde en SOL d'un compte. |
block | Récupère un bloc confirmé par slot. |
block-height | Affiche la hauteur de bloc actuelle. |
block-production | Affiche la production de blocs du leader sur une plage de slots. |
block-time | Estime l'heure de production d'un bloc. |
catchup | Attend qu'un validator rattrape le cluster. |
close-vote-account | Ferme un compte de vote et retire les fonds restants. |
cluster-date | Estime la date du cluster à partir de l'heure genesis et de l'heure du réseau. |
cluster-version | Affiche la version logicielle du point d'entrée du cluster. |
completion | Génère un script de complétion pour le shell. |
config | Obtient ou définit les valeurs par défaut de la CLI. |
confirm | Vérifie l'état de confirmation de la signature d'une transaction. |
create-address-with-seed | Dérive une adresse système à partir d'une base, d'un seed et d'un ID de programme. |
create-nonce-account | Crée et initialise un compte de nonce durable. |
create-stake-account | Crée un compte de stake. |
create-stake-account-checked | Crée un compte de stake tout en vérifiant l'autorité de retrait comme signataire. |
create-vote-account | Crée un compte de vote de validator. |
deactivate-stake | Lance la désactivation du stake délégué. |
decode-transaction | Décode une transaction sérialisée. |
delegate-stake | Délègue un compte de stake à un compte de vote. |
epoch | Affiche le numéro de l'epoch actuel. |
epoch-info | Affiche les informations sur l'epoch, le slot, la hauteur de bloc et le nombre de transactions. |
feature | Inspecte et gère les comptes de fonctionnalités du runtime. |
find-program-derived-address | Dérive une PDA et le bump canonique à partir de seeds typés. |
first-available-block | Affiche le premier bloc complet conservé par le nœud RPC. |
genesis-hash | Affiche le hash genesis du cluster. |
gossip | Liste les nœuds visibles via le gossip. |
help | Affiche l'aide générale ou celle d'une commande. |
inflation | Affiche les informations sur le gouverneur d'inflation, le taux ou les récompenses. |
largest-accounts | Liste les plus gros comptes du cluster. |
leader-schedule | Affiche le calendrier des leaders. |
live-slots | Diffuse en continu la progression du slot actuel. |
logs | Diffuse en continu les journaux de transactions, avec un filtrage facultatif par adresse. |
merge-stake | Fusionne des comptes de stake compatibles. |
new-nonce | Fait avancer un nonce durable. |
nonce | Affiche la valeur d'un nonce durable. |
nonce-account | Affiche l'état complet d'un compte de nonce durable. |
program | Déploie, met à niveau, inspecte, exporte, définit l'autorité de, ou ferme des programmes et des buffers. |
recent-prioritization-fees | Affiche les frais de priorisation récents pour les comptes modifiables. |
rent | Calcule le minimum d'exemption de rent pour une taille de données de compte. |
resolve-signer | Résout une référence de signataire générique, telle qu'une URL Ledger, vers son chemin spécifique. |
sign-offchain-message | Signe un message hors chaîne en UTF-8. |
slot | Affiche le slot actuel. |
split-stake | Transfère des lamports d'un compte de stake vers un autre. |
stake-account | Affiche les autorités, le solde et l'état de délégation d'un compte de stake. |
stake-authorize | Change l'autorité de stake ou de retrait. |
stake-authorize-checked | Change une autorité de stake tout en vérifiant la nouvelle autorité comme signataire. |
stake-history | Affiche l'historique d'activation et de désactivation du stake du cluster. |
stake-minimum-delegation | Affiche la délégation de stake minimale du cluster. |
stake-set-lockup | Définit le lockup d'un compte de stake. |
stake-set-lockup-checked | Définit un lockup tout en vérifiant le nouveau custodian comme signataire. |
stakes | Liste les comptes de stake, avec un filtrage facultatif par validator ou par autorité. |
supply | Affiche l'offre de SOL en circulation, hors circulation et totale. |
transaction-count | Affiche le nombre de transactions du cluster. |
transaction-history | Liste les transactions impliquant une adresse, de la plus récente à la plus ancienne. |
transfer | Transfère des SOL entre comptes système. |
upgrade-nonce-account | Met à niveau de façon idempotente un ancien compte de nonce. |
validator-info | Publie ou lit les informations d'un validator. |
validators | Affiche un récapitulatif des validators : stake, commission, taux de skip et version. |
verify-offchain-signature | Vérifie un message hors chaîne signé. |
vote-account | Affiche les autorités, la commission, les crédits et les votes d'un compte de vote. |
vote-authorize-voter | Change l'autorité de vote d'un compte de vote. |
vote-authorize-voter-checked | Change l'autorité de vote tout en vérifiant la nouvelle autorité comme signataire. |
vote-authorize-withdrawer | Change l'autorité de retrait d'un compte de vote. |
vote-authorize-withdrawer-checked | Change l'autorité de retrait tout en vérifiant la nouvelle autorité comme signataire. |
vote-update-commission | Change la commission d'un compte de vote. |
vote-update-validator | Change l'identité du validator associée à un compte de vote. |
withdraw-from-nonce-account | Retire tout ou partie des SOL d'un compte de nonce durable. |
withdraw-from-vote-account | Retire des lamports d'un compte de vote. |
withdraw-stake | Retire 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 jsonsolana account <ACCOUNT_ADDRESS> --output json-compactsolana 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?