Boas Práticas de Rust para Solana
Hábitos que mantêm programas Solana seguros, baratos de executar e fáceis de auditar. Percorra esta lista antes do deploy na mainnet e durante code review.
Busque em todas as páginas da documentação
Hábitos que mantêm programas Solana seguros, baratos de executar e fáceis de auditar. Percorra esta lista antes do deploy na mainnet e durante code review.
ProgramError em vez de panic. Falha limpa com códigos decodificáveis.LEN e faça assert de data_len() em runtime. Evita escritas parciais e panics de parse.msg! e formatação de string em caminhos de produção. Logs são caros.cargo tree por dependências não-no_std. Mantém binários compilando e pequenos.Clippy cobre idiomas Rust; esta lista é segurança e ops específicas de Solana.
Muitas regras aplicam a ambos; nativo exige enforcement manual.
Pelo menos um happy path e uma falha por instrução.
Quando profiling mostrar que deserialize domina CU.
Foque validação, aritmética, CPI e assinatura PDA primeiro.
Ainda importa - clientes e indexers dependem de erros estáveis.
Sim - layout consistente ajuda revisores.
Obrigatório para nativo; gere a partir do IDL Anchor quando possível.
cargo build-sbf em todo PR.
Recomendado para testes de integração rápidos com comportamento Agave 4.1.1.
Versione IDL e tabelas de erro com o id de programa implantado.
Publique hashes de build verificável com deploy.
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