Melhores práticas do @solana/kit
Resumo condensado de 25 práticas para clientes @solana/kit 7.0.0 em produção.
Busque em todas as páginas da documentação
Resumo condensado de 25 práticas para clientes @solana/kit 7.0.0 em produção.
Fixe @solana/kit@7.0.0: Trave a versão major no package.json e CI - tipagens RPC mudam entre minors (@solana/kit Basics).
Importe de forma estreita: Use subpath exports e pacotes de programa para manter bundles pequenos.
Sempre .send() em chamadas RPC: Builders são lazy até enviar.
Use lamports bigint: Nunca matemática SOL float na UI ou servidores.
Separe URLs HTTP e WSS: Subscriptions precisam de endpoints wss:// (RPC e subscriptions).
Abort subscriptions WebSocket: Limpe no unmount React e mudanças de rota.
Busque blockhashes frescos por submissão: Lifetimes obsoletos são a principal falha de confirmação.
Simule antes do prompt da carteira: Poupe usuários de pagar por erros previsíveis (Assinatura e envio).
Defina signers fee payer explicitamente: Strings de endereço sozinhas não assinam (Keypairs e signers).
Prepend instruções compute budget: Priority fees e limites CU vêm primeiro na mensagem.
Prefira mensagens versão 0: Padrão para ALTs e validadores modernos.
Gere codecs a partir da IDL: Layouts manuais derivam de programas Anchor 0.32.1 (Codecs e serialização).
Regenere clientes Codama no CI: Falhe builds quando IDL mudar pastas geradas sujas.
RPC de provedor em produção: Endpoints públicos limitam taxa; use URLs com chave.
Combine commitment ao risco: confirmed para UX; finalized para leituras de tesouraria.
Nunca embuta segredos mainnet no frontend: Código browser é público; use carteiras ou patrocínio servidor.
Logue assinaturas e links do explorer: Tickets de suporte precisam de IDs de transação rastreáveis.
Trate rejeições de carteira com graça: Usuários cancelam conexões e assinaturas - UX de retry clara.
Migre do web3.js por rota: Dual stacks dobram bundle e bugs (Migrando do web3.js v1).
Use sendAndConfirmTransactionFactory com WSS: Loops de confirmação só HTTP são frágeis sob carga.
Comprima com dados ALT frescos: Recarregue contas de lookup table antes de compressTransactionMessageUsingAddressLookupTables.
Tipifique endereços com address(): Capture base58 inválido na construção.
Teste contra Surfpool 0.12.0: Execuções locais compatíveis Agave antes de gastar devnet.
Documente capacidades RPC: DAS, APIs de priority fee e simulação diferem por vendor.
Mantenha versões de carteira e kit alinhadas: templates create-solana-dapp acompanham pares adapter + kit compatíveis.
Sim - web3.js v1 é legado para TypeScript greenfield.
Não - acelera bootstrap mas kit é a dependência core.
Tipicamente uma factory HTTP + uma WSS reutilizada via context.
Audite com seu bundler - tree-shaking só funciona com imports estreitos.
Variáveis de ambiente por deploy; nunca hardcode URLs mainnet em componentes compartilhados.
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: 19 de jul. de 2026