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 filtretokenAccounts (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— exclut si l’un de ces comptes apparaîtvote/failed— indicateurs booléens pour les transactions de vote et les transactions ayant échouétokenAccounts— active l’extension des comptes de jetons associés (ATA) ("balanceChanged","all"ou"none"), afin qu’un portefeuilleaccountIncludecorresponde également aux transactions dans lesquelles il détient un solde de jetons SPL. Consultez Filtrage des comptes de jetons (ATA) et l’onglet Surveiller un portefeuille ci-dessous.matchMints— indicateur facultatif qui compare également les listes de comptes aux mints figurant dans les soldes de jetons avant et après une transaction, afin qu’un mint dansaccountIncludecapture chaque transfert, swap, mint et burn de ce jeton. Consultez Filtrage par mint de jeton et l’onglet Surveiller un jeton ci-dessous.
- Filtrage par programme
- Spécifique au compte
- Filtrage avancé
- Surveillance d'un portefeuille
- Watching a Token
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 impliquant des programmes DEX populaires :Exemple 2 : surveiller les transactions ayant échoué
Suivez les transactions ayant échoué afin de détecter les problèmes de l’application :Exemple 3 : surveiller les transactions de grande valeur
Suivez les transactions comportant des transferts importants de SOL :Exemple 4 : surveiller un portefeuille (y compris les transferts de jetons)
Surveillez tous les mouvements de fonds d’un portefeuille, y compris les transferts entrants de jetons SPL qui impliquent ses ATA, en ajoutanttokenAccounts à un filtre accountInclude simple :
Structure des données de transaction
Transaction Message Structure
Transaction Message Structure
Token Balance Changes
Token Balance Changes
Instruction Details
Instruction Details
Référence de la logique de filtrage
Include Logic (OR)
accountInclude : la transaction doit impliquer AU MOINS UN de ces comptes.["A", "B"] correspond aux transactions impliquant le compte A OU le compte B.Required Logic (AND)
accountRequired : la transaction doit impliquer TOUS ces comptes.["A", "B"] correspond aux transactions impliquant le compte A ET le compte B.Exclude Logic (NOT)
accountExclude : la transaction ne doit impliquer AUCUN de ces comptes.Combined Logic
Filtre final :
(accountInclude OR empty) AND (accountRequired AND all) AND NOT (accountExclude OR any).Considérations relatives aux performances
- Volume Management
- Data Processing
Les flux de transactions peuvent être volumineux. Pour suivre le rythme :
- Commencez par des filtres de programme spécifiques (ne vous abonnez pas à « toutes les transactions »)
- Utilisez
confirmedplutôt queprocessedsi vous pouvez tolérer environ 1,5 s de latence supplémentaire - Surveillez votre capacité de traitement à l’aide d’un compteur
- Envisagez d’exécuter des consommateurs en parallèle derrière une file d’attente
Gestion des erreurs
Too Many Transactions
Too Many Transactions
Symptôme : volume de transactions trop élevé.Solutions : ajoutez des filtres plus stricts (
accountRequired, accountExclude) ; utilisez un niveau d’engagement supérieur ; mettez en œuvre un échantillonnage ou une limitation du débit ; traitez les données de manière asynchrone.Missing Transactions
Missing Transactions
Symptôme : les transactions attendues n’apparaissent pas.Solutions : vérifiez que les adresses des programmes sont correctes ; vérifiez que les transactions existent réellement ; essayez
processed pour obtenir des mises à jour plus rapides ; assouplissez les filtres restrictifs accountRequired/accountExclude.Parse Errors
Parse Errors
Symptôme : impossible d’analyser les données de transaction.Solutions : gérez correctement les champs manquants ; validez la structure avant le traitement ; placez l’analyse dans un bloc try/catch ; consultez Décodage des données de transaction.
Étapes suivantes
Slot & Block Monitoring
Suivez le consensus du réseau et la production des blocs.
Stream Pump AMM Data
Exemple concret : surveillez les transactions AMM de Pump.fun.
Decoding Transaction Data
Analysez les charges utiles binaires des transactions pour obtenir des transactions Solana lisibles.
Yellowstone protocol reference
Le même workflow avec le protocole gRPC Yellowstone brut.