Estudos de caso e builds de referência na Solana são artefatos de aprendizado estruturados: uma forma de problema conhecida, um grafo concreto de contas e instruções, portões operacionais e resultados mensuráveis. Use-os para transferir padrões para seu programa, cliente e runbook de lançamento - não como produtos para fazer fork cegamente.
Esta seção contém três tipos de artefatos: builds de referência (programa DeFi + dApp, lançamento de token SPL, mint de cNFT), estudos antes/depois (CU/aluguel e landing) e conhecimento de falhas (retrospectivas de segurança mais um catálogo de lições). Esta página mapeia como usar esses artefatos como um único sistema de aprendizado - não um resumo de cada irmão.
Trate cada estudo de caso como um loop transferível: moldura do problema → grafo de contas e instruções → cliente e caminho de inclusão → portões de operações e autoridade → medição → captura de lição - então reaplique esse loop ao seu produto com seus pinos de stack.
Por que Importa: Falhas de produção na Solana raramente vêm de "não saber Rust". Elas vêm de composição incompleta: verificações de signatário ausentes, CU não medida, autoridade de mint deixada ativa, RPC público no dia do mint, ou lições que nunca retornam à revisão de design. Estudos de caso codificam essas costuras em uma forma que você pode auditar.
Conceitos Chave:build de referência, antes/depois, retrospectiva, catálogo de lições, moldura do problema, grafo de contas, portões de operações, resultado mensurável, controle de prevenção, pinos de stack.
Quando Usar: Arquitetura Greenfield, integração de engenheiros full-stack, preparação para auditoria, checklists de lançamento, revisões de design pós-incidente e escolha de profundidade (referência vs otimização vs segurança).
Limitações / Trade-offs: Referências são simplificadas; locais mainnet e profundidades de árvore mudam; métricas de uma equipe não são suas linhas de base; retrospectivas ensinam classes de bugs, não receitas de exploit passo a passo; overfitting a um repositório de amostra congela o design do produto.
Tópicos Relacionados: Programa DeFi + dApp, lançamento de token SPL, mint de cNFT em escala, otimização de CU e aluguel, landing confiável, retrospectivas de segurança, catálogo de lições.
Um estudo de caso da Solana só é valioso quando torna as restrições explícitas. A cadeia não se importa que seu produto seja um marketplace ou um jogo. Ela se importa com as contas que você passa, os programas em que você faz CPI, quem assina, quanto compute você consome, se o aluguel é pago e se o líder inclui sua transação sob contenção.
Páginas irmãs nesta seção respondem a perguntas diferentes:
Tipo de Artefato
Pergunta Principal
Exemplo nesta Seção
Build de Referência
Qual é a aparência de um caminho completo?
Programa DeFi + dApp, Lançamento de Token SPL, Mint de cNFT
Antes/Depois
O que mudou e em quanto?
Otimização de CU/Aluguel, Landing de Transação
Retrospectiva
Como essa classe de falha funcionou?
Retrospectivas de Incidentes de Segurança
Catálogo
O que se repete e qual controle o impede?
Catálogo de Lições Aprendidas
Moldura do problema (intenção + risco) | v +---------------------------+ | Forma de Referência | contas, ix, cliente, testes +-------------+-------------+ | v +---------------------------+ | Medição | CU, aluguel, taxa de landing, custo +-------------+-------------+ | v +---------------------------+ | Endurecimento | classe de segurança + portões de operações +-------------+-------------+ | v Entrada no catálogo de lições + controle de CI
Builds de referência ensinam composição (layout, PDAs, cliente de kit, simular-then-send, autoridade). Estudos antes/depois ensinam evidências (linha de base, mudança, remensuração). Retrospectivas ensinam modelos de ameaça. O catálogo é memória de longo prazo para que as armadilhas não retornem como histórias únicas no Slack.
A regra: extraia princípios, rededuzca para suas restrições, prove com testes e métricas. Copiar pastas de monorepo sem rededuzir verificações de conta, taxas e autoridade é cargo-culting.
Trabalhe uma página de referência em quatro passes, não em um skim.
Moldura do problema. Qual intenção do usuário está on-chain (depósito, mint, lançamento, inventário em escala)? O que está deliberadamente fora do escopo (legal, valores mobiliários, risco total do local)?
Grafo de contas e instruções. Quais contas de propriedade do programa, mints, ATAs, PDAs e programas externos aparecem? O que deve ser gravável vs somente leitura?
Caminho do cliente. Como @solana/kit (ou CLI) constrói, simula, assina e confirma? Onde aparecem valores bigint, ambiente de cluster e versão do IDL?
Portões de operações. Autoridade de upgrade multisig, política de autoridade de mint/freeze, plano de RPC, verificação de explorador, hash do artefato de release.
Somente após esses quatro passes você deve abrir o deep-dive irmão para detalhes linha a linha. A referência é o mapa; outras seções possuem a teoria.
Use cada referência para uma habilidade de composição diferente:
Referência: Um Programa DeFi + dApp - monorepo, Anchor, LiteSVM, Next.js + kit, autoridade de pausa e deploy; mantenha o estado on-chain e a simulação/envio alinhados.
Referência: Um Lançamento de Token SPL - mint, metadados, matemática de distribuição, revogação de autoridade; portões de operações irreversíveis que o marketing não pode anular.
Números ilustram o método, não suas garantias. Reexecute as linhas de base em seus pinos (padrão do site: Agave 4.1.1, Anchor 0.32.1, Rust 1.91.1, @solana/kit 7.0.0) antes de reivindicar uma vitória.
Retrospectivas mapeiam classes de exploit para mecânicas Sealevel: verificações de signatário ou proprietário ausentes, substituição de conta, ordem de CPI, frescor do bloco, concentração de privilégio. Leia-as como prompts de modelo de ameaça:
Classe de incidente público | v Qual verificação estava ausente ou fora de ordem? | v Quais de nossas instruções compartilham essa forma? | v Teste LiteSVM (ou bankrun) que falha sem a correção | v ID do catálogo + checkbox de revisão de design
Use Retrospectivas de Incidentes de Segurança para anatomia e padrões de resposta (pausa, snapshot, patch, verificação, comunicação). Não as trate como tutoriais de ataque; prevenção e testes de regressão são o produto.
O Catálogo de Lições Aprendidas é o índice, não uma narrativa. Cada entrada deve conter severidade, área (programa / cliente / ops), uma armadilha de uma linha, um ponteiro de prevenção (documento + CI) e uma fonte (incidente, auditoria, data).
Hábitos operacionais que tornam o catálogo real:
Abra a revisão de design com "algum hit do catálogo nesta superfície de instrução?"
Após cada auditoria ou quase-acidente, adicione ou atualize um ID antes de fechar o ticket.
Separe lições de programa, cliente e ops para que o proprietário correto possua o controle.
Vincule a prevenção a uma página e a uma verificação automatizada quando possível (teste de restrição de signatário, portão de hash de IDL, limite de taxa em rotas de mint).
Seções de teoria (contas, PDAs, segurança, solução de problemas de produção, integrações DeFi) possuem os mecanismos. Esta seção possui composições trabalhadas e loops de feedback. Quando uma referência menciona pausa, ALTs ou revogação de mint, siga o deep dive vinculado para a regra; mantenha o estudo de caso como a narrativa ponta a ponta e a história de medição.
"Um build de referência é um produto que devo enviar." É uma forma de ensino. Seu mercado, custódia e restrições de conformidade ainda exigem um design completo.
"Se eu ler todos os estudos de caso uma vez, estou pronto para produção." A prontidão é rededuzir grafos, testes, métricas e controles de catálogo em suas instruções.
"Números de antes/depois transferem entre programas." Cargas de trabalho, tamanhos de conta e congestionamento diferem. O método transfere; porcentagens brutas não.
"Retrospectivas de segurança são apenas para auditores." Todo engenheiro que escreve uma instrução que move valor é responsável pela classe de falha correspondente.
"O catálogo de lições é documentação opcional." Sem ele, a mesma Signer ausente ou a reexecução de blockhash obsoleto retorna sob um novo título de ticket.
"Landing e CU são tópicos de infraestrutura, não material de estudo de caso." Na Solana, eles são qualidade e custo visíveis pelo usuário; as páginas antes/depois existem por esse motivo.
"Lançamentos de cNFT e token SPL são o mesmo problema de ops." Temas compartilhados (autoridade, taxas, RPC) residem em modelos de conta e indexação diferentes; use a referência correspondente.
"Código do cliente não precisa de entradas de lições." Valores de float, cluster errado, derivação de IDL e taxa de prioridade zero são falhas recorrentes do cliente com as mesmas tags de severidade que bugs de programa.
Qual é a diferença entre um build de referência e um tutorial?
Um tutorial ensina uma única habilidade isoladamente. Um build de referência mostra um caminho composto (programa, testes, cliente, portões de ops) para que você possa ver onde as habilidades se encontram e quais portões são irreversíveis.
Qual página devo abrir primeiro nesta seção?
Comece aqui para o padrão de aprendizado, depois a referência mais próxima do seu produto (dApp DeFi, lançamento de token ou cNFT). Adicione material antes/depois e de segurança antes da carga mainnet ou auditoria.
Como adapto uma referência para Pinocchio ou Rust nativo se a amostra for Anchor?
Mantenha o grafo de contas, a política de autoridade e os casos de teste; mude apenas a camada de implementação. O antes/depois de CU/aluguel é o companheiro para extração de caminho quente, não uma razão para pular testes de correção.
Quais métricas toda equipe deve rastrear após estudar landing?
Taxa de landing para seu compromisso alvo, tempo p95 para confirmado por rota crítica, gasto de taxa e gorjeta, e proporção de simulação bem-sucedida vs falha de inclusão sob carga de pico.
Quais métricas importam após um estudo de CU/aluguel?
CU por instrução quente, tamanho da transação, aluguel de conta para PDAs principais e benches de regressão em CI para que um recurso posterior não apague a vitória.
Com que frequência devemos revisar o catálogo de lições?
Pelo menos no início da revisão de design para novas superfícies de instrução, após cada ciclo de incidente ou auditoria, e em uma limpeza trimestral para que a severidade e os proprietários permaneçam precisos.
Estudos de caso substituem auditorias formais?
Não. Eles melhoram a modelagem de ameaças interna e a cobertura de regressão. Alto TVL ou custódia ainda requer revisão independente; entradas do catálogo rastreiam a remediação dessa revisão.
Por que fixar versões de stack em trabalhos de estudo de caso?
Toolchains da Solana e kits de cliente se movem. Uma receita que funcionou em uma versão mais antiga do Anchor ou kit pode enganar. Revalide em seus pinos (este site visa Agave 4.1.1, Anchor 0.32.1, Rust 1.91.1, @solana/kit 7.0.0).
Como novos engenheiros devem usar esta seção na primeira semana?
Um build de referência ponta a ponta em devnet ou localnet, um método antes/depois lido com um pequeno bench, e um walkthrough de cinco entradas do catálogo ligadas a falhas de signatário, CPI e landing.
O que pertence a um post-mortem que alimenta o catálogo?
Linha do tempo, classe de causa raiz, raio de explosão, correção, verificação (ID de teste ou prova on-chain) e um ID de catálogo com um controle de prevenção de propriedade de uma equipe.
Posso pular a referência DeFi se eu só enviar NFTs?
Você pode começar com cNFT ou lançamento de token, mas ainda assim ler material de landing e segurança. Produtos de inventário falham em inclusão, autoridade e verificações de conta com a mesma frequência que DeFi.
Como ALTs e Jito aparecem no padrão de aprendizado?
São ferramentas de inclusão, não recursos de produto. Estude-os no antes/depois de landing quando a taxa de landing ou o fluxo atômico multi-ix for parte dos critérios de aceitação.
O que é um "controle de prevenção" na linguagem do catálogo?
Uma guarda concreta: restrição Anchor, teste unitário, portão de hash de CI, limite de taxa, política multisig ou etapa de runbook que teria bloqueado a armadilha.
Como sei que a transferência de um estudo de caso está concluída?
Você pode nomear seu grafo de contas, política de autoridade, caminho de simulação/envio do cliente, orçamentos de CU e landing, testes de segurança para classes relevantes e IDs de catálogo para riscos residuais - sem se referir ao nome do produto de amostra.