Boas Práticas de Time
Práticas compartilhadas que mantêm um time de engenharia Solana rápido e seguro em validators Agave 4.1.1, programas Anchor 0.32.1 e clients @solana/kit 7.0.0.
Como Usar Esta Lista
- Adote no acordo de trabalho do time durante semana 2 de onboarding.
- Revise trimestralmente ou após qualquer incidente mainnet.
- Mapeie cada regra para um owner (platform, security, frontend).
A - Toolchain e Repos
- Fonte única de verdade para pins de versão.
rust-toolchain.toml,Anchor.toml,.nvmrccommitados. - CI executa
anchor build, testes e typecheck de client em todo PR. Sem verificação apenas manual. - Program ids e URLs de cluster em tabelas env. Não strings mágicas espalhadas.
- IDL e outputs Codama versionados ou regenerados em CI. Clients nunca driftam silenciosamente.
- Documente holders de upgrade authority no runbook. On-call sabe quem pode patchar programas.
B - Workflow de Desenvolvimento
- Padrão devnet e validators locais para feature work. Mainnet exige checklist explícito.
- Use LiteSVM 0.6.x para testes unitários rápidos; smoke validator para integração. Pirâmide documentada no README.
- Simule transações em clients antes de send em staging. Corresponda features RPC de produção.
- Feature flags para instructions arriscadas até auditadas. Governança ou multisig onde necessário.
- PRs pequenos com plano de teste na descrição. Revisores sabem casos negativos cobertos.
C - Segurança e Keys
- Separe keys e provedores RPC de dev, staging e prod. Sem hot wallet compartilhada entre envs.
- Multisig ou custódia hardware para upgrade authorities na mainnet. Documente signers.
- Lane de revisão de segurança obrigatória para mudanças de movimento de token. Regra de duas pessoas.
- Execute guia de revisão interna antes de auditoria externa. Corrija P0s óbvios primeiro.
- Runbook de incidente vinculado do repo. Rollback, pause, templates de comms prontos.
D - Comunicação e Docs
- Toda mudança de programa atualiza changelog voltado ao usuário ou nota de migração. Wallets e indexers dependem disso.
- Architecture Decision Records para escolhas de framework. Anchor vs Pinocchio, picks de vendor RPC.
- Rotação on-call familiar com comandos ops Solana CLI 3.0.10. Deploy, dump logs, verificar builds.
- Novos contratados completam checklists de onboarding com sign-off de buddy. Ramp repetível.
- Post-mortems sem culpa com follow-ups rastreados. Vincule testes de regressão em tickets.
E - Release e Operações
- Builds verificáveis para deploys mainnet. Hash
solana-verifypublicado. - Período de soak devnet antes de promoção mainnet. Métricas DORA de lead time opcionais.
- Monitore taxas de erro RPC, taxa de pouso de tx e uso de CU de programa. Dashboards por ambiente.
- Surfpool 0.12.0 ou testes fork para features dependentes de mainnet. Antes de launches grandes.
- Estratégia de rollback documentada por programa. Caminhos imutável vs upgradeable explícitos.
FAQs
Tamanho mínimo de time?
Práticas escalam para baixo - mantenha seções de segurança e pin de versão mesmo para 3 engenheiros.
Times remotos/async?
Checklists escritos e demo gravada do capstone First Program substituem pairing no corredor.
Agência + time cliente?
Divida práticas: agência possui doc de toolchain, cliente possui keys e aprovação mainnet.
Frequência de auditoria?
Release maior ou mudança material de CPI - não todo fix de typo.
Tempo de tech debt?
Alocar % fixo de sprint para upgrades de dependência e otimizações de CU.
Pressão de produto?
Ticket explícito de aceitação de risco ao pular soak ou recomendação de auditoria.
Múltiplos programas?
Owners por programa listados em CODEOWNERS com caminho de escalação.
Alinhamento de time de dados?
Compartilhe schemas IDL/event quando indexers consomem seus programas.
Open source?
Práticas de segurança ainda aplicam - redija keys em templates públicos de issue.
Métricas?
Rastreie frequência de deploy, taxa de tx falhada, tempo médio de review - adapte de DORA conforme necessário.
Relacionado
- Checklist de Onboarding de Devs - ramp de novo contratado
- Diretrizes de Code Review - profundidade de revisão de PR
- Boas Práticas de Time em Standards - normas de contribuição
- Noções Básicas de Deploy - ops de release
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.