Boas Práticas da Solana CLI
Resumo condensado das 25 práticas mais importantes da Solana CLI extraídas de cada página desta seção.
-
Fixe versões Agave e CLI: Instale Agave 4.1.1 para
solana --versionreportar CLI 3.0.10 - toolchains incompatíveis causam surpresas de deploy e RPC (Noções Básicas da Solana CLI). -
Verifique config antes de cada sessão: Execute
solana config gete confirme RPC URL, caminho de keypair e commitment correspondem ao cluster que pretende tocar. -
Separe keypairs por cluster: Nunca reutilize key financiada na mainnet como padrão em scripts devnet - reduz gastos acidentais na mainnet.
-
Nunca commite JSON de keypair: Adicione caminhos
*-keypair.jsoneid.jsonao.gitignore; carregue keys de produção apenas de secrets managers (Keypairs com solana-keygen). -
Registre seed phrases offline: Faça backup de phrases BIP39 ao criar keys - perda de disco sem phrase é irrecuperável.
-
chmod 600 em arquivos key: Restrinja arquivos de secret key ao seu usuário em hosts Unix antes de financiar wallets.
-
Use devnet para workflows de faucet: Financie com
solana airdropapenas em devnet/testnet; mainnet exige SOL real (Airdrops e Saldos). -
Deixe folga de fee: Mantenha pelo menos 0,01 SOL em wallets dev ativas - rent e priority fees consomem mais que os 5.000 lamports base.
-
Verifique pubkeys de destinatário duas vezes: Teste com transfer de poeira antes de payouts grandes - typos base58 são irreversíveis (Enviando SOL e Transações).
-
Use commitment finalized para ops de tesouraria: Defina
--commitment finalizedao confirmar transfers de alto valor na mainnet. -
Inspecione antes de depurar código: Execute
solana accountesolana program showpara verificar owners, comprimento de data e upgrade authority (Inspecionando Contas e Programas). -
Alinhe program IDs em todo lugar:
declare_id!,Anchor.tomle keypair de deploy devem compartilhar uma pubkey antes do deploy (Implantando Programas). -
Build artefatos release para deploy: Use output release de
anchor build/cargo build-sbf- arquivos.sodebug desperdiçam rent e CU. -
Financie deploys para rent programdata: Programas grandes precisam mais lamports que airdrop de 2 SOL devnet - verifique saldo antes de
program deploy. -
Transfira upgrade authority deliberadamente: Mova authority para multisig na mainnet; use
--finalapenas quando imutabilidade for intencional. -
Use spl-token para tokens:
solana transfernativo nunca move saldos SPL - usespl-token transfercom--fund-recipient(spl-token CLI). -
Pense em unidades raw de token: Multiplique quantidades humanas por 10^decimals ao mintar ou transferir tokens SPL.
-
Stream logs em segundo terminal: Pareie
solana logscom validator local ou RPC devnet enquanto itera em erros de programa (Logs e Depuração). -
Capture JSON de transação falhada:
solana transaction <SIG> --output json-compactpreservalogMessagespara tickets e artefatos CI. -
Prefira RPC de provedor para confiabilidade: Endpoints públicos rate-limitam; use URLs devnet/mainnet dedicadas em
solana config set --url. -
Exporte config para CI com cuidado:
solana config get --jsoné ok para RPC URLs - nunca commite caminhos para keypairs de produção em repos compartilhados. -
Confirme signatures explicitamente em scripts: Use
solana confirm -ve verifique exit codes em vez de assumir que submissões--no-waitpousaram. -
Dump binários de programa para verificar deploys:
solana program dumpmais comparação de hash pega deploys de cluster ou artefato errado. -
Revogue mint authority após launch:
spl-token authorize <MINT> mint --disablequando supply fixo for requisito. -
Documente cluster em runbooks: Todo doc de ops deve declarar RPC URL, commitment e versão CLI para ações on-call corresponderem a máquinas de dev.
FAQs
Qual o erro de maior risco na CLI?
Executar comandos mainnet com keypair padrão financiado na mainnet acreditando estar em devnet - sempre solana config get primeiro.
Times devem compartilhar um keypair de dev?
Prefira tesouraria devnet compartilhada mais keys por engenheiro para auditabilidade. Nunca compartilhe keys de upgrade authority mainnet.
Como práticas CLI se relacionam ao Anchor?
Anchor envolve os mesmos arquivos de deploy e keypair - higiene CLI protege diretamente resultados de anchor deploy.
Checklist mínimo antes de deploy mainnet?
Toolchain fixada, payer financiado, program ID correspondente, build release, dry-run devnet, plano de upgrade authority multisig.
Com que frequência rotacionar keys de dev?
Rotacione quando engenheiros saem ou keys tocam logs CI compartilhados. Keys devnet são baixo risco mas bom hábito para disciplina mainnet.
Relacionado
- Noções Básicas da Solana CLI - ponto de entrada da seção
- Keypairs com solana-keygen - detalhe de geração de keys
- Implantando Programas - workflow de deploy
- Boas Práticas da Toolchain - fixação de versão além da CLI
Versões do 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.