Melhores Práticas de Implantação
Um resumo condensado das 25 práticas de implantação mais importantes extraídas de todas as páginas desta seção.
Busque em todas as páginas da documentação
Um resumo condensado das 25 práticas de implantação mais importantes extraídas de todas as páginas desta seção.
Marcar commits de lançamento: Cada implantação mapeia para uma tag git imutável (Implantando Programas).
Testar âncora antes da implantação: Matriz completa verde na tag RC.
solana-verify em CI: Bloquear lançamento em caso de incompatibilidade de hash (Builds Verificáveis).
Arquivar todos os .so: Retenção em releases/<version>/ para rollback.
Simular custo de implantação: solana program deploy --dry-run no cluster de destino.
Verificação de sanidade do cluster: solana config get antes da implantação via CLI.
Sincronizar ID do programa: anchor keys sync corresponde a declare_id!.
Ensaio em Devnet: Mesma pipeline em devnet antes de mainnet.
Publicar atestado de hash: README + documento de auditoria com {program_id, hash, commit}.
Verificar hash pós-implantação: get-program-hash igual ao artefato de CI.
Multisig antes de TVL: Transferir autoridade de upgrade para Squads (Governança).
Sem autoridade de hot wallet em mainnet: O implantador transfere a autoridade imediatamente após a implantação.
Modelo de proposta: Hash, testes, riscos, plano de rollback exigidos para upgrades.
Timelock na governança: 24-72h para reação da comunidade em upgrades.
Imutável apenas deliberadamente: --final após teste e auditoria (Imutável).
Simulação de rollback trimestral: Exercício de implantação ruim em Devnet e reversão.
Runbook de incidentes: Dump, rollback, verificar, comunicar (Rollbacks).
Fechar buffers obsoletos: Reclamar aluguel após a implantação.
Fixar toolchain Agave 4.1.1: Build corresponde ao validador BPF loader.
Documentar autoridade de upgrade: program show público da autoridade corresponde à documentação.
Sem edições de configuração em scripts de implantação: Manter chaves no gerenciador de segredos.
Pares de chaves devnet/mainnet separados: Evitar erro de digitação no cluster errado.
Monitorar slots de upgrade: Alerta sobre alterações inesperadas nos dados do programa.
Plano de migração de estado: Layouts que quebram enviam ix de migração, não upgrade cego.
Escopo de diff de auditoria: Fornecer intervalo de commits desde a última tag auditada para upgrades.
Testes aprovados, verificação de hash, teste rápido em devnet, autoridade multisig, verificação de hash pós-implantação, atestado público.
Após teste estendido, auditorias e voto de governança - não no primeiro dia.
Implantar artefato não verificado com autoridade de upgrade de hot wallet em TVL de produção.
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.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026