Todo programa da Solana lê e grava o mesmo estado, então um swap, o pagamento de um empréstimo e a atualização de um oráculo podem ser executados em uma única transação atômica. Comece com um app Anchor funcional, integre liquidez em tempo real e publique seguindo práticas de produção.
Propriedades nas quais o design do seu protocolo pode confiar
Composabilidade atômica
Os programas chamam uns aos outros por meio de Cross Program Invocations dentro de uma única transação. Se qualquer etapa falhar, a transação inteira é revertida, de modo que uma estratégia com vários protocolos nunca é concluída pela metade.
Cada transação declara de antemão as contas que lê e grava. O runtime executa em paralelo as transações que não tocam as mesmas contas graváveis, então um mercado movimentado não trava os demais.
As transações que gravam em uma conta disputada competem pela parcela do bloco dessa conta. Defina as taxas de prioridade com base nas contas em que você grava, e não em médias de toda a rede.
Os tempos de slot da mainnet estão sendo reduzidos em etapas, e o Alpenglow substituirá o atual protocolo de votação e finalidade. Acompanhe ambos antes de ajustar a expiração de cotações, timeouts e janelas de liquidação.
O caminho padrão para um novo protocolo: Anchor para o programa, LiteSVM e Surfpool para testes, Codama para clientes e Kit para o app.
01Escreva o programa
Anchor ou Pinocchio
O Anchor é o framework recomendado para a maioria dos programas, com validação de contas, geração de IDL e helpers de CPI integrados. Recorra ao Pinocchio, uma biblioteca sem dependências, em caminhos críticos nos quais cada unidade de computação conta.
Execute testes rápidos em processo com o LiteSVM ou o Mollusk. Depois, rode testes de integração no Surfpool, uma rede local que carrega contas da mainnet sob demanda, para que você teste com pools e oráculos reais.
Gere clientes tipados em TypeScript e Rust a partir da IDL do seu programa, para que os construtores de instruções e os decodificadores de contas acompanhem cada deploy.
O @solana/kit é o SDK JavaScript padrão. Seu plugin de carteiras encontra as carteiras instaladas por meio do Wallet Standard, sem pacotes de adaptadores por carteira.
Estes protocolos publicam documentação para desenvolvedores sobre seus programas e APIs. Leia a documentação e os relatórios de auditoria de cada protocolo antes de direcionar fundos de usuários por ele.
Swaps e roteamento
Roteie swaps pela liquidez da Solana com uma API de agregador ou solicite instruções brutas para compor um swap dentro da sua própria transação.
Emita ativos com comportamentos integrados que o seu protocolo precisa tratar: transfer hooks, saldos com rendimento de juros, valores escalonados na interface e transferências confidenciais.
Apenas exemplos. A inclusão de um protocolo na lista não representa um endosso da Solana Foundation.
Entrega de transações
Confirme transações quando os mercados se movem
O tráfego DeFi atinge o pico durante a volatilidade, justamente quando os usuários precisam que suas transações sejam confirmadas. Implemente isto no seu cliente antes da mainnet.
1
Defina limites de computação e taxas de prioridade
Simule para medir as unidades de computação, defina um limite justo e calcule as taxas de prioridade a partir das taxas recentes das contas em que você grava.
As transações v1 aumentam o limite de tamanho; as address lookup tables comprimem listas longas de contas. Cada opção traz um trade-off para rotas complexas.
A QoS ponderada por stake reserva capacidade do líder para transações encaminhadas por validators com stake. Escolha um provedor de RPC que ofereça suporte a ela.
Acompanhe a expiração do blockhash, retransmita até que a transação seja confirmada ou expire e confirme no nível de commitment que a sua lógica exige.
Um programa DeFi pode custodiar fundos de usuários desde o primeiro deploy. Controle quem pode alterá-lo, comprove o que está implantado e monitore o que ele faz.
Coloque as autoridades atrás de uma multisig
Mantenha as autoridades de atualização e de administração do programa em uma multisig da Squads, com time lock nas alterações.
Faça auditorias independentes antes da mainnet e mantenha um programa de bug bounty. A Solana Foundation financia avaliações de segurança STRIDE e ferramentas gratuitas para equipes do ecossistema.