Referencia de la CLI de Solana

La interfaz de línea de comandos solana configura la conexión a un clúster, lee el estado de la red, envía SOL, administra nonces duraderos, despliega programas y opera cuentas de stake y de voto.

Esta referencia sigue Agave v4.2.1. Ejecuta solana --version para comprobar la versión instalada y usa --help para ver las opciones exactas disponibles en esa versión.

Los comandos que crean, transfieren, autorizan, retiran o despliegan envían transacciones. Confirma el clúster y el firmante configurados antes de ejecutarlos. Los tokens de Devnet y Testnet no tienen valor; los comandos de Mainnet usan SOL real.

Estructura de los comandos

solana [GLOBAL_OPTIONS] <COMMAND> [COMMAND_OPTIONS]

Obtén ayuda en cualquier nivel:

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

Opciones globales

Las opciones globales se pueden colocar antes del comando. La ayuda específica de cada comando repite las opciones que le corresponden.

OpciónFinalidad
-u, --url <URL_OR_MONIKER>Selecciona una URL de RPC o mainnet-beta, testnet, devnet o localhost.
--ws <URL>Sustituye el endpoint de WebSocket.
-k, --keypair <KEYPAIR>Selecciona un archivo keypair, ASK, stdin (-) o una URL de firmante compatible.
-C, --config <FILEPATH>Usa un archivo de configuración de la CLI diferente.
--commitment <LEVEL>Lee con nivel de confirmación processed, confirmed o finalized.
--output <FORMAT>Devuelve json o json-compact donde sea compatible.
--skip-preflightEnvía sin simulación RPC. Úsalo solo si comprendes el riesgo de posibles fallos.
--use-tpu-clientEnvía las transacciones a través del cliente TPU.
--no-address-labelsImprime las direcciones sin etiquetas locales.
--skip-seed-phrase-validationPermite una frase de recuperación que no esté en la lista en inglés de BIP39.
-v, --verboseMuestra salida adicional del comando.
-V, --versionImprime la versión instalada de la CLI.

Configurar 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 configuración contiene una URL de RPC, una URL de WebSocket, el firmante predeterminado y el nivel de confirmación. Una opción de línea de comandos sustituye el valor guardado en esa invocación.

Flujos de trabajo habituales de cuentas y transacciones

# 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 acepta SOL de forma predeterminada. Usa ALL como importe para mover el saldo disponible después de las comisiones. Para ver ejemplos con tokens, consulta el inicio rápido de tokens.

Flujos de trabajo de programas

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

Pasa --program-id <KEYPAIR_OR_ADDRESS> cuando un despliegue deba usar un ID de programa conocido. --final hace inmutable un despliegue nuevo; lee su ayuda con atención antes de usarlo, porque la autoridad de actualización no se puede restaurar.

Flujos de trabajo de nonces duraderos

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 para cambiar la autoridad del nonce y nonce-account para inspeccionar el estado completo de la cuenta. Las transacciones que usan un nonce también aceptan --nonce y --nonce-authority en los comandos compatibles.

Flujos de trabajo de 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 desactivación se completa en el límite de un epoch y puede tardar más de un epoch. Usa stakes, validators, stake-history y stake-minimum-delegation para inspeccionar el estado del clúster y de la delegación antes de enviar cambios.

Utilidades de direcciones

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

Los seeds de PDA usan PREFIX:VALUE. Los prefijos admitidos incluyen string, pubkey, hex, u8 y codificaciones de enteros con o sin signo de ancho fijo, como u64le.

Mensajes off-chain y autocompletado del 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

Índice completo de comandos

El siguiente índice incluye todos los comandos de nivel superior de Agave v4.2.1. Comandos como program, config, feature y address-lookup-table contienen comandos anidados; ejecuta <command> --help para listarlos.

ComandoDescripción
accountMuestra los lamports, el propietario, los datos y el estado ejecutable de una cuenta.
addressImprime la clave pública del firmante seleccionado.
address-lookup-tableCrea, amplía, congela, desactiva, cierra e inspecciona tablas de búsqueda de direcciones.
airdropSolicita SOL a un faucet del clúster.
alpenglow-genesis-infoLee información sobre el certificado génesis de Alpenglow.
authorize-nonce-accountAsigna una autoridad a una cuenta de nonce duradero.
balanceMuestra el saldo de SOL de una cuenta.
blockObtiene un bloque confirmado por slot.
block-heightMuestra la altura de bloque actual.
block-productionMuestra la producción de bloques del líder para un rango de slots.
block-timeEstima la hora de producción de un bloque.
catchupEspera a que un validator se ponga al día con el clúster.
close-vote-accountCierra una cuenta de voto y retira los fondos restantes.
cluster-dateEstima la fecha del clúster a partir de la hora génesis y la hora de la red.
cluster-versionMuestra la versión del software del entrypoint del clúster.
completionGenera un script de autocompletado del shell.
configObtiene o establece los valores predeterminados de la CLI.
confirmComprueba el estado de confirmación de la firma de una transacción.
create-address-with-seedDeriva una dirección del sistema a partir de una base, un seed y un ID de programa.
create-nonce-accountCrea e inicializa una cuenta de nonce duradero.
create-stake-accountCrea una cuenta de stake.
create-stake-account-checkedCrea una cuenta de stake verificando la autoridad de retiro como firmante.
create-vote-accountCrea una cuenta de voto de validator.
deactivate-stakeInicia la desactivación del stake delegado.
decode-transactionDecodifica una transacción serializada.
delegate-stakeDelega una cuenta de stake en una cuenta de voto.
epochMuestra el número de epoch actual.
epoch-infoMuestra información de epoch, slot, altura de bloque y recuento de transacciones.
featureInspecciona y administra las cuentas de funcionalidades del runtime.
find-program-derived-addressDeriva una PDA y el bump canónico a partir de seeds tipados.
first-available-blockMuestra el primer bloque completo conservado por el nodo RPC.
genesis-hashMuestra el hash génesis del clúster.
gossipLista los nodos visibles a través de gossip.
helpImprime la ayuda general o la de un comando.
inflationMuestra información sobre el gobernador de inflación, la tasa o las recompensas.
largest-accountsLista las cuentas más grandes del clúster.
leader-scheduleMuestra el calendario de líderes.
live-slotsTransmite en tiempo real la progresión del slot actual.
logsTransmite en tiempo real los registros de transacciones, con filtro opcional por dirección.
merge-stakeFusiona cuentas de stake compatibles.
new-nonceAvanza un nonce duradero.
nonceImprime el valor de un nonce duradero.
nonce-accountMuestra el estado completo de una cuenta de nonce duradero.
programDespliega, actualiza, inspecciona, vuelca, establece la autoridad o cierra programas y buffers.
recent-prioritization-feesMuestra las comisiones de priorización recientes de las cuentas con permiso de escritura.
rentCalcula el mínimo exento de renta para un tamaño de datos de cuenta.
resolve-signerResuelve una referencia general de firmante, como una URL de Ledger, a su ruta específica.
sign-offchain-messageFirma un mensaje off-chain en UTF-8.
slotMuestra el slot actual.
split-stakeDivide lamports de una cuenta de stake y los pasa a otra.
stake-accountMuestra las autoridades, el saldo y el estado de delegación de una cuenta de stake.
stake-authorizeCambia una autoridad de stake o de retiro.
stake-authorize-checkedCambia una autoridad de stake verificando la nueva autoridad como firmante.
stake-historyMuestra el historial de activación y desactivación de stake del clúster.
stake-minimum-delegationMuestra la delegación mínima de stake del clúster.
stake-set-lockupEstablece el bloqueo de una cuenta de stake.
stake-set-lockup-checkedEstablece un bloqueo verificando al nuevo custodio como firmante.
stakesLista las cuentas de stake, con filtro opcional por validator o autoridad.
supplyMuestra el suministro de SOL circulante, no circulante y total.
transaction-countMuestra el recuento de transacciones del clúster.
transaction-historyLista las transacciones de una dirección, de la más reciente a la más antigua.
transferTransfiere SOL entre cuentas del sistema.
upgrade-nonce-accountActualiza de forma idempotente una cuenta de nonce heredada.
validator-infoPublica o lee información de un validator.
validatorsMuestra un resumen de stake, comisión, tasa de omisión y versión de los validator.
verify-offchain-signatureVerifica un mensaje off-chain firmado.
vote-accountMuestra las autoridades, la comisión, los créditos y los votos de una cuenta de voto.
vote-authorize-voterCambia la autoridad de votante de una cuenta de voto.
vote-authorize-voter-checkedCambia la autoridad de votante verificando la nueva autoridad como firmante.
vote-authorize-withdrawerCambia la autoridad de retiro de una cuenta de voto.
vote-authorize-withdrawer-checkedCambia la autoridad de retiro verificando la nueva autoridad como firmante.
vote-update-commissionCambia la comisión de una cuenta de voto.
vote-update-validatorCambia la identidad del validator asignada a una cuenta de voto.
withdraw-from-nonce-accountRetira una parte o la totalidad de los SOL de una cuenta de nonce duradero.
withdraw-from-vote-accountRetira lamports de una cuenta de voto.
withdraw-stakeRetira SOL inactivos de una cuenta de stake.

Salida para scripts

Usa --output json o --output json-compact donde sea compatible en lugar de analizar la salida legible por personas:

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

No todos los comandos admiten salida estructurada. Consulta la ayuda del comando antes de depender de ella en automatizaciones y trata un estado de salida distinto de cero como un fallo.

Is this page helpful?