Noções Básicas de Desenvolvimento Local
9 exemplos para você começar com desenvolvimento local em Solana - 6 básicos e 3 intermediários.
Pré-requisitos
- Agave 4.1.1 / Solana CLI 3.0.10 instalado
- Anchor 0.32.1 para fluxos de programa (
avm use 0.32.1) - Um keypair financiado em
~/.config/solana/id.json
solana --version
anchor --versionExemplos Básicos
1. Iniciar um Validador Local
Execute um cluster isolado no seu laptop.
solana-test-validator- RPC padrão:
http://127.0.0.1:8899 - Ctrl+C para o cluster - o estado é efêmero, a menos que você use flags de ledger
- Sem limites de taxa ou throttling de faucet, diferente da devnet
Relacionado: solana-test-validator - flags e ciclo de vida
2. Apontar a CLI para a Localnet
Direcione os comandos do terminal para o validador local.
solana config set --url http://127.0.0.1:8899
solana slotslotdeve avançar a cada segundo enquanto o validador estiver em execução- Restaure para devnet ao terminar:
solana config set --url devnet - Combine essa URL em
Anchor.tomlparaanchor test
3. Financiar Sua Carteira Local
Use o faucet local para SOL de teste ilimitado.
solana airdrop 10
solana balance- Airdrops locais são generosos para experimentos de aluguel de contas
- O mesmo keypair funciona entre sessões de localnet se você reiniciar o validador com o mesmo caminho de ledger
- Taxas ainda são deduzidas - o saldo muda em transferências
Relacionado: Airdrops & Balances - conceitos de saldo
4. Compilar e Implantar Localmente
Compile e implante no validador em execução.
anchor build
anchor deployanchor deployusa a URL do provider emAnchor.toml- IDs de programa vêm de
target/deploy/*-keypair.json - Reimplantação faz upgrade quando a autoridade de upgrade é mantida
Relacionado: Deploying Programs - detalhes de implantação
5. Executar Testes Anchor
Teste de integração contra validador embutido.
anchor test- Inicia o validador, implanta, executa testes TypeScript/Rust e encerra
- Logs aparecem no terminal - combine com Local Logs & Debugging
- Iteração mais rápida que deploy manual + envio de cliente
6. Transmitir Logs Localmente
Acompanhe a saída do programa durante os testes.
solana logs- Execute em um segundo terminal enquanto invoca transações
- Mostra saída de
msg!esol_logdo seu programa - Sem limites de WebSocket do provider em localhost
Relacionado: Logs & Debugging - ferramentas de log da CLI
Exemplos Intermediários
7. Clonar uma Conta da Mainnet
Puxe estado on-chain real para a localnet em testes realistas.
solana-test-validator --clone <ACCOUNT_PUBKEY> --url mainnet-beta- O validador busca dados da conta na inicialização a partir do RPC da mainnet
- Essencial para testar layouts de AMM/oráculo ao vivo
- Clone apenas as contas necessárias - o tempo de inicialização cresce com a quantidade
Relacionado: Cloning Mainnet Accounts - estratégias de clone
8. Carregar Programas a Partir de Arquivo
Implante um .so compilado sem deploy completo do workspace Anchor.
solana program deploy target/deploy/my_program.so \
--url http://127.0.0.1:8899- Útil para testar binários de programas de terceiros
- Combine com clones para simular grafos de CPI da mainnet
- O keypair do programa deve corresponder ao ID esperado se os clientes o fixarem no código
Relacionado: Loading Programs & Fixtures - semear estado
9. Escolher Localnet vs Devnet
Escolha o cluster certo para a tarefa em mãos.
# Local: rápido, determinístico
solana config set --url http://127.0.0.1:8899
# Compartilhado: rede realista, limites de faucet
solana config set --url devnet- Localnet para velocidade de unit/integration e CI
- Devnet para implantações compartilhadas entre equipes e demos de carteira
- Veja a página de fluxo de decisão para o guia completo de ramificação
Relacionado: Localnet vs Devnet Workflow - quando usar cada um
Versões da stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 e LiteSVM 0.6.x.