Skip to main content
La surveillance des transactions vous permet de suivre l’exécution des transactions, le statut de réussite/échec, les interactions de programme et les changements de solde de jetons sur Solana en temps réel. Ce guide couvre les stratégies de filtrage et les implémentations pratiques à l’aide du SDK helius-laserstream.
Prérequis : Ce guide suppose que vous avez complété le Démarrage rapide LaserStream gRPC et que vous avez une clé API.

Options de filtrage des transactions

LaserStream utilise la même structure de filtre que Yellowstone gRPC, y compris le filtre tokenAccounts (expansion ATA). Les champs à définir dans transactions.<label> :
  • accountInclude — correspond si l’un de ces comptes apparaît (OU logique)
  • accountRequired — correspond uniquement si tous ces comptes apparaissent (ET logique)
  • accountExclude — omettre si l’un de ces comptes apparaît
  • vote / failed — indicateurs booléens pour les transactions de vote et échouées
  • tokenAccounts — expansion opt-in du compte de tokens associé (ATA) ("balanceChanged", "all", ou "none"), ainsi un portefeuille accountInclude correspond également aux transactions où il possède un solde de jetons SPL. Voir Filtrage des comptes de tokens (ATA) et l’onglet Surveillance d’un portefeuille ci-dessous.
Surveiller les transactions impliquant des programmes spécifiquesSuivre toutes les transactions qui touchent les programmes qui vous intéressent :
Idéal pour : Surveillance spécifique aux programmes, suivi de protocoles DeFi, interactions avec des contrats intelligents.

Exemples pratiques

Exemple 1 : Surveiller les transactions DEX

Suivez les transactions touchant des programmes DEX populaires :

Exemple 2 : Surveiller les transactions échouées

Suivez les transactions échouées pour mettre en évidence les problèmes d’application :

Exemple 3 : Surveiller les transactions de haute valeur

Suivez les transactions avec transferts significatifs de SOL :

Exemple 4 : Surveiller un portefeuille (y compris les transferts de tokens)

Surveillez tout ce qui déplace de l’argent pour un portefeuille — y compris les transferts entrants de tokens SPL qui touchent ses ATAs — en ajoutant tokenAccounts à un filtre accountInclude simple :

Structure des données de transaction


Référence de la logique de filtrage

Logique d'inclusion (OU)

accountInclude : La transaction doit impliquer n’importe lequel de ces comptes.["A", "B"] correspond aux transactions impliquant le compte A OU le compte B.

Logique requise (ET)

accountRequired : La transaction doit impliquer TOUS ces comptes.["A", "B"] correspond aux transactions impliquant le compte A ET le compte B.

Logique d'exclusion (PAS)

accountExclude : La transaction ne doit pas impliquer n’importe lequel de ces comptes.

Logique combinée

Filtre final : (accountInclude OR empty) AND (accountRequired AND all) AND NOT (accountExclude OR any).

Considérations de performance

Les flux de transactions peuvent être de haut volume. Pour maintenir le rythme :
  • Commencez par des filtres de programme spécifiques (ne vous abonnez pas à “toutes les transactions”)
  • Utilisez confirmed plutôt que processed lorsque vous pouvez tolérer ~1,5s de latence supplémentaire
  • Surveillez votre capacité de traitement avec un compteur
  • Envisagez de faire tourner des consommateurs parallèles derrière une file d’attente

Gestion des erreurs

Symptôme : Volume de transactions écrasant.Solutions : Ajoutez des filtres plus stricts (accountRequired, accountExclude) ; utilisez un engagement plus élevé ; implémentez un échantillonnage ou une limitation de débit ; traitez de manière asynchrone.
Symptôme : Transactions attendues non apparues.Solutions : Vérifiez que les adresses des programmes sont correctes ; vérifiez que les transactions existent réellement ; essayez processed pour des mises à jour plus rapides ; assouplissez les filtres restrictifs accountRequired/accountExclude.
Symptôme : Impossible d’analyser les données de la transaction.Solutions : Gérez les champs manquants avec grâce ; validez la structure avant le traitement ; enveloppez l’analyse dans un try/catch ; voir Décodage des données de transaction.

Prochaines étapes

Surveillance des slots et des blocs

Suivre le consensus du réseau et la production de blocs.

Diffuser les données AMM Pump

Exemple du monde réel : surveiller les transactions AMM de Pump.fun.

Décodage des données de transaction

Analyser les charges utiles des transactions binaires en transactions Solana lisibles.

Référence du protocole Yellowstone

Le même flux de travail contre le protocole brut de Yellowstone gRPC.