Skip to main content
Optimiser l’utilisation du RPC peut améliorer significativement les performances, réduire les coûts et enrichir l’expérience utilisateur. Ce guide couvre des techniques éprouvées pour des interactions efficaces avec le RPC Solana.

Démarrage rapide

Optimisation des Transactions

Optimisez les unités de calcul, les frais prioritaires et l’envoi de transactions

Récupération de Données

Modèles efficaces pour récupérer les données des comptes et des programmes

Surveillance en Temps Réel

Abonnements WebSocket et optimisation des données en streaming

Meilleures Pratiques

Conseils de performance et gestion des ressources

Optimisation des Transactions

Gestion des Unités de Calcul

1. Simuler pour déterminer l’utilisation réelle :
2. Définir des limites appropriées avec marge :

Optimisation des Frais Prioritaires

1. Obtenez des estimations de frais dynamiques :
2. Appliquez le frais prioritaire :

Meilleures Pratiques pour l’Envoi de Transactions

Optimisation de la Récupération des Données

Méthodes de Pagination Améliorées (V2)

Pour les requêtes de données à grande échelle, utilisez les nouvelles méthodes V2 avec pagination basée sur les curseurs :

⚡ Boost de Performance

getProgramAccountsV2 et getTokenAccountsByOwnerV2 offrent des améliorations de performance significatives pour les applications gérant de grands ensembles de données :
  • Limites configurables : 1 à 10 000 comptes par requête
  • Pagination basée sur les curseurs : Évite les délais d’attente sur les grandes requêtes
  • Mises à jour incrémentielles : Utilisez changedSinceSlot pour la synchronisation en temps réel
  • Meilleure utilisation de la mémoire : Streamer les données au lieu de tout charger à la fois
Exemple : Interrogation de comptes de programme efficace
Mises à jour incrémentielles pour les applications en temps réel :

Optimisation de la Récupération des Données

Requêtes de Comptes Efficaces

Recherches de Solde de Jetons

Historique des Transactions

Pour l’historique complet des adresses, utilisez getTransactionsForAddress — une méthode exclusive Helius qui renvoie des données de transactions complètes, y compris l’activité du compte de jetons associé, en un seul appel :

Historique des Transferts

Lorsque vous avez uniquement besoin de mouvements de jetons ou de SOL — paiements, activité de portefeuille, rapprochement de solde — utilisez getTransfersByAddress (exclusif Helius, nécessite un plan Developer ou supérieur). Il renvoie des objets de transfert analysés et lisibles par l’homme avec les propriétaires, les mint, les montants et les décimales déjà résolus, vous évitant ainsi de devoir analyser les transactions :
Règle générale : utilisez getTransactionsForAddress lorsque vous avez besoin de charges de transaction complètes ou d’activités non liées aux transferts, et getTransfersByAddress lorsque vous avez besoin d’enregistrements de transferts clairs pour les registres et le suivi des paiements.

Surveillance en Temps Réel

Abonnements aux Comptes

Surveillance des Comptes de Programme

Surveillance des Transactions

Modèles Avancés

Logique de Réessai Intelligent

Traitement Efficace de la Mémoire

Pooling de Connexions

Surveillance de la Performance

Suivre l’Utilisation du RPC

Meilleures Pratiques

Niveaux d’Engagement

  • Utilisation pour : Abonnements WebSocket, mises à jour en temps réel
  • Latence : ~400ms
  • Fiabilité : Bon pour la plupart des applications

Gestion des Ressources

Gestion des Erreurs

Pièges Courants à Éviter

Évitez ces erreurs fréquentes :
  • Sondage au lieu d’utiliser les abonnements WebSocket
  • Récupération de données de compte complètes alors que seules des données partielles sont nécessaires
  • Ne pas utiliser d’opérations groupées pour plusieurs requêtes
  • Ignorer les limites de taux et ne pas implémenter de logique de réessai adéquate
  • Utiliser l’engagement finalized alors que confirmed est suffisant
  • Ne pas fermer les abonnements, entraînant des fuites de mémoire

Méthodes Associées

Les techniques d’optimisation dans ce guide font référence aux méthodes WebSocket et RPC suivantes :

getTransactionsForAddress

Historique complet des transactions avec filtrage, tri et prise en charge des comptes de jetons (exclusif Helius)

getTransfersByAddress

Historique des transferts de jetons et SOL analysés pour les paiements et le rapprochement (exclusif Helius)

getTransaction

Récupérer tous les détails d’une transaction par signature

getProgramAccounts

Récupérer tous les comptes possédés par un programme

getTokenAccountsByOwner

Obtenir les comptes de jetons pour un portefeuille

getMultipleAccountsInfo

Récupérer en lot les détails de plusieurs comptes

getAccountInfo

Obtenir des informations sur un seul compte

accountSubscribe

S’abonner aux changements de compte via WebSocket

programSubscribe

S’abonner aux changements des comptes de programme via WebSocket

logsSubscribe

S’abonner aux journaux de transactions via WebSocket

Résumé

En mettant en œuvre ces techniques d’optimisation, vous pouvez atteindre :
  • Réduction de 60-90 % du volume des appels API
  • Latence considérablement réduite pour les opérations en temps réel
  • Réduction de l’utilisation de la bande passante grâce à des requêtes ciblées
  • Meilleure résilience aux erreurs avec une logique de réessai intelligente
  • Réduction des coûts opérationnels grâce à une utilisation efficace des ressources

Prochaines Étapes

Prêt à mettre en œuvre ces optimisations ? Consultez notre Guide d’Optimisation des Transactions pour les meilleures pratiques spécifiques aux transactions.