Skip to main content
Otimizar o uso de RPC pode melhorar significativamente o desempenho, reduzir custos e aprimorar a experiência do usuário. Este guia cobre técnicas comprovadas para interações eficientes com o Solana RPC.

Início Rápido

Otimização de Transações

Otimize unidades de computação, taxas prioritárias e envio de transações

Recuperação de Dados

Padrões eficientes para buscar dados de conta e programa

Monitoramento em Tempo Real

Inscrições WebSocket e otimização de dados em streaming

Melhores Práticas

Diretrizes de desempenho e gerenciamento de recursos

Otimização de Transações

Gerenciamento de Unidades de Computação

1. Simular para determinar o uso real:
2. Definir limites apropriados com margem:

Otimização de Taxas Prioritárias

1. Obter estimativas dinâmicas de taxas:
2. Aplicar a taxa prioritária:

Melhores Práticas de Envio de Transações

Otimização de Recuperação de Dados

Métodos de Paginação Aprimorados (V2)

Para consultas de dados em grande escala, use os novos métodos V2 com paginação baseada em cursor:

⚡ Aumento de Desempenho

getProgramAccountsV2 e getTokenAccountsByOwnerV2 fornecem melhorias significativas de desempenho para aplicações que lidam com grandes conjuntos de dados:
  • Limites configuráveis: 1-10.000 contas por solicitação
  • Paginação baseada em cursor: Evita timeouts em consultas grandes
  • Atualizações incrementais: Use changedSinceSlot para sincronização em tempo real
  • Melhor uso de memória: Faz streaming de dados em vez de carregar tudo de uma vez
Exemplo: Consulta eficiente de contas de programa
Atualizações incrementais para aplicações em tempo real:

Otimização de Recuperação de Dados

Consultas de Contas Eficientes

Consultas de Saldo de Token

Histórico de Transações

Para histórico completo de endereços, use getTransactionsForAddress — um método exclusivo do Helius que retorna dados completos de transações, incluindo atividade de conta de token associada, em uma única chamada:

Histórico de Transferências

Quando você só precisa de movimentação de token ou SOL — pagamentos, atividade de portfólio, reconciliação de saldos — use getTransfersByAddress (exclusivo do Helius, requer um Plano de Desenvolvedor ou superior). Ele retorna objetos de transferência analisados e legíveis, com proprietários, mentes, quantidades e decimais já resolvidos, para que você evite a análise de transações por completo:
Regra geral: use getTransactionsForAddress quando precisar de cargas úteis completas de transações ou atividade não relacionada a transferências, e getTransfersByAddress quando precisar de registros de transferências limpos para livros-razão e acompanhamento de pagamentos.

Monitoramento em Tempo Real

Inscrições de Contas

Monitoramento de Contas de Programa

Monitoramento de Transações

Padrões Avançados

Lógica de Retentativa Inteligente

Processamento Eficiente em Memória

Pooling de Conexão

Monitoramento de Desempenho

Acompanhar Uso de RPC

Melhores Práticas

Níveis de Comprometimento

  • Uso para: Inscrições WebSocket, atualizações em tempo real
  • Latência: ~400ms
  • Confiabilidade: Bom para a maioria das aplicações

Gerenciamento de Recursos

Tratamento de Erros

Armadilhas Comuns a Evitar

Evite estes erros comuns:
  • Fazer polling em vez de usar inscrições WebSocket
  • Buscar dados completos de conta quando apenas dados parciais são necessários
  • Não usar operações em lote para múltiplas consultas
  • Ignorar limites de taxa e não implementar lógica de retentativa adequada
  • Usar finalized comprometimento quando confirmed é suficiente
  • Não fechar inscrições, levando a vazamentos de memória

Métodos Relacionados

As técnicas de otimização neste guia referenciam os seguintes métodos WebSocket e RPC:

getTransactionsForAddress

Histórico completo de transações com filtragem, ordenação e suporte a conta de token (exclusivo do Helius)

getTransfersByAddress

Histórico de transferências de token e SOL analisado para pagamentos e reconciliação (exclusivo do Helius)

getTransaction

Recupere detalhes completos da transação por assinatura

getProgramAccounts

Busque todas as contas pertencentes a um programa

getTokenAccountsByOwner

Obtenha contas de token para uma carteira

getMultipleAccountsInfo

Busca em lote de múltiplos detalhes de contas

getAccountInfo

Obtenha informações sobre uma única conta

accountSubscribe

Inscreva-se para mudanças de conta via WebSocket

programSubscribe

Inscreva-se para mudanças de conta de programa via WebSocket

logsSubscribe

Inscreva-se para logs de transações via WebSocket

Resumo

Implementando essas técnicas de otimização, você pode alcançar:
  • Redução de 60-90% no volume de chamadas de API
  • Latência significativamente menor para operações em tempo real
  • Redução no uso de banda larga através de consultas direcionadas
  • Melhor resiliência a erros com lógica de retentativa inteligente
  • Custos operacionais mais baixos através do uso eficiente de recursos

Próximos Passos

Pronto para implementar essas otimizações? Confira nosso Guia de Otimização de Transações para melhores práticas específicas de transações.