Referência da CLI do Solana

A interface de linha de comando solana configura a conexão com um cluster, lê o estado da rede, envia SOL, gerencia nonces duráveis, implanta programas e opera contas de stake e de voto.

Esta referência segue o Agave v4.2.1. Execute solana --version para verificar a versão instalada e use --help para ver as opções exatas disponíveis nessa versão.

Comandos que criam, transferem, autorizam, sacam ou implantam enviam transações. Confirme o cluster e o signatário configurados antes de executá-los. Os tokens da Devnet e da Testnet não têm valor; os comandos na Mainnet usam SOL real.

Estrutura dos comandos

solana [GLOBAL_OPTIONS] <COMMAND> [COMMAND_OPTIONS]

Obtenha ajuda em qualquer nível:

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

Opções globais

As opções globais podem ser colocadas antes do comando. A ajuda específica de cada comando repete as opções que se aplicam a ele.

OpçãoFinalidade
-u, --url <URL_OR_MONIKER>Seleciona uma URL de RPC ou mainnet-beta, testnet, devnet ou localhost.
--ws <URL>Substitui o endpoint WebSocket.
-k, --keypair <KEYPAIR>Seleciona um arquivo de keypair, ASK, stdin (-) ou uma URL de signatário compatível.
-C, --config <FILEPATH>Usa um arquivo de configuração da CLI diferente.
--commitment <LEVEL>Lê com o nível de commitment processed, confirmed ou finalized.
--output <FORMAT>Retorna json ou json-compact onde houver suporte.
--skip-preflightEnvia sem simulação de RPC. Use apenas quando entender os riscos de falha.
--use-tpu-clientEnvia transações por meio do cliente TPU.
--no-address-labelsImprime endereços sem rótulos locais.
--skip-seed-phrase-validationPermite uma frase de recuperação fora da lista em inglês do BIP39.
-v, --verboseMostra saída adicional do comando.
-V, --versionImprime a versão instalada da CLI.

Configurar a 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

A configuração contém uma URL de RPC, uma URL de WebSocket, o signatário padrão e o commitment. Uma opção de linha de comando substitui o valor salvo naquela invocação.

Fluxos comuns de contas e transações

# 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 aceita SOL por padrão. Use ALL como valor para mover o saldo disponível depois das taxas. Para exemplos com tokens, consulte o guia rápido de tokens.

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

Passe --program-id <KEYPAIR_OR_ADDRESS> quando uma implantação precisar usar um ID de programa conhecido. --final torna uma nova implantação imutável; leia a ajuda com atenção antes de usá-lo, pois a autoridade de atualização não pode ser restaurada.

Fluxos de nonce durável

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

Use authorize-nonce-account para alterar a autoridade do nonce e nonce-account para inspecionar o estado completo da conta. As transações que usam um nonce também aceitam --nonce e --nonce-authority nos comandos compatíveis.

Fluxos 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

A desativação é concluída no limite de um epoch e pode levar mais de um epoch. Use stakes, validators, stake-history e stake-minimum-delegation para inspecionar o estado do cluster e das delegações antes de enviar alterações.

Utilitários de endereço

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

Os seeds de PDA usam PREFIX:VALUE. Os prefixos compatíveis incluem string, pubkey, hex, u8 e codificações de inteiros com largura fixa, com ou sem sinal, como u64le.

Mensagens off-chain e autocompletar do 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

O índice a seguir inclui todos os comandos de nível superior do Agave v4.2.1. Comandos como program, config, feature e address-lookup-table contêm subcomandos; execute <command> --help para listá-los.

ComandoDescrição
accountMostra os lamports, o proprietário, os dados e o estado executável de uma conta.
addressImprime a chave pública do signatário selecionado.
address-lookup-tableCria, estende, congela, desativa, fecha e inspeciona tabelas de consulta de endereços.
airdropSolicita SOL a um faucet do cluster.
alpenglow-genesis-infoLê informações sobre o certificado de gênese do Alpenglow.
authorize-nonce-accountAtribui uma autoridade a uma conta de nonce durável.
balanceMostra o saldo de SOL de uma conta.
blockBusca um bloco confirmado por slot.
block-heightMostra a altura atual do bloco.
block-productionMostra a produção de blocos do líder para um intervalo de slots.
block-timeEstima o horário de produção de um bloco.
catchupAguarda um validator alcançar o cluster.
close-vote-accountFecha uma conta de voto e saca os fundos restantes.
cluster-dateEstima a data do cluster a partir do horário de gênese e do horário da rede.
cluster-versionMostra a versão do software do entrypoint do cluster.
completionGera um script de autocompletar do shell.
configObtém ou define os padrões da CLI.
confirmVerifica o status de confirmação da assinatura de uma transação.
create-address-with-seedDeriva um endereço do sistema a partir de uma base, um seed e um ID de programa.
create-nonce-accountCria e inicializa uma conta de nonce durável.
create-stake-accountCria uma conta de stake.
create-stake-account-checkedCria uma conta de stake verificando a autoridade de saque como signatária.
create-vote-accountCria uma conta de voto de validator.
deactivate-stakeInicia a desativação do stake delegado.
decode-transactionDecodifica uma transação serializada.
delegate-stakeDelega uma conta de stake a uma conta de voto.
epochMostra o número do epoch atual.
epoch-infoMostra informações de epoch, slot, altura do bloco e contagem de transações.
featureInspeciona e gerencia contas de recursos (feature) do runtime.
find-program-derived-addressDeriva um PDA e o bump canônico a partir de seeds tipados.
first-available-blockMostra o primeiro bloco completo retido pelo nó RPC.
genesis-hashMostra o hash de gênese do cluster.
gossipLista os nós visíveis por meio do gossip.
helpImprime a ajuda raiz ou de um comando.
inflationMostra informações sobre o governador de inflação, a taxa ou as recompensas.
largest-accountsLista as maiores contas do cluster.
leader-scheduleExibe o cronograma de líderes.
live-slotsTransmite em fluxo a progressão do slot atual.
logsTransmite em fluxo os logs de transações, opcionalmente filtrados por endereço.
merge-stakeMescla contas de stake compatíveis.
new-nonceAvança um nonce durável.
nonceImprime o valor de um nonce durável.
nonce-accountMostra o estado completo de uma conta de nonce durável.
programImplanta, atualiza, inspeciona, exporta, define a autoridade de ou fecha programas e buffers.
recent-prioritization-feesMostra as taxas de priorização recentes para contas graváveis.
rentCalcula o mínimo isento de aluguel para o tamanho dos dados de uma conta.
resolve-signerResolve uma referência geral de signatário, como uma URL de Ledger, para o caminho específico.
sign-offchain-messageAssina uma mensagem off-chain em UTF-8.
slotMostra o slot atual.
split-stakeDivide lamports de uma conta de stake em outra.
stake-accountMostra as autoridades, o saldo e o estado de delegação de uma conta de stake.
stake-authorizeAltera uma autoridade de stake ou de saque.
stake-authorize-checkedAltera uma autoridade de stake verificando a nova autoridade como signatária.
stake-historyMostra o histórico de ativação e desativação de stake do cluster.
stake-minimum-delegationMostra a delegação mínima de stake do cluster.
stake-set-lockupDefine o lockup de uma conta de stake.
stake-set-lockup-checkedDefine um lockup verificando o novo custodiante como signatário.
stakesLista contas de stake, opcionalmente filtradas por validator ou autoridade.
supplyMostra a oferta circulante, não circulante e total de SOL.
transaction-countMostra a contagem de transações do cluster.
transaction-historyLista as transações que envolvem um endereço, da mais recente para a mais antiga.
transferTransfere SOL entre contas do sistema.
upgrade-nonce-accountAtualiza de forma idempotente uma conta de nonce legada.
validator-infoPublica ou lê informações de validator.
validatorsMostra um resumo de stake, comissão, taxa de skip e versão dos validators.
verify-offchain-signatureVerifica uma mensagem off-chain assinada.
vote-accountMostra as autoridades, a comissão, os créditos e os votos de uma conta de voto.
vote-authorize-voterAltera a autoridade de votante de uma conta de voto.
vote-authorize-voter-checkedAltera a autoridade de votante verificando a nova autoridade como signatária.
vote-authorize-withdrawerAltera a autoridade de saque de uma conta de voto.
vote-authorize-withdrawer-checkedAltera a autoridade de saque verificando a nova autoridade como signatária.
vote-update-commissionAltera a comissão de uma conta de voto.
vote-update-validatorAltera a identidade do validator atribuída a uma conta de voto.
withdraw-from-nonce-accountSaca parte ou todo o SOL de uma conta de nonce durável.
withdraw-from-vote-accountSaca lamports de uma conta de voto.
withdraw-stakeSaca SOL inativo de uma conta de stake.

Saída para scripts

Use --output json ou --output json-compact onde houver suporte, em vez de analisar a saída legível por humanos:

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

Nem todo comando oferece suporte a saída estruturada. Verifique a ajuda do comando antes de depender dela em automações e trate um status de saída diferente de zero como falha.

Is this page helpful?

© 2026 Fundação Solana. Todos os direitos reservados.