helius-laserstream SDK.
Voraussetzungen: Dieser Leitfaden setzt voraus, dass du den LaserStream gRPC Quickstart abgeschlossen hast und einen API key besitzt.
Optionen für die Transaktionsfilterung
LaserStream verwendet dieselbe Filterstruktur wie Yellowstone gRPC, einschließlich des FilterstokenAccounts (ATA-Erweiterung). Diese Felder legst du in transactions.<label> fest:
accountInclude— stimmt überein, wenn eines dieser Konten vorkommt (logisches ODER)accountRequired— stimmt nur überein, wenn alle diese Konten vorkommen (logisches UND)accountExclude— verwirft die Transaktion, wenn eines dieser Konten vorkommtvote/failed— boolesche Flags für Abstimmungs- und fehlgeschlagene TransaktionentokenAccounts— optionale Erweiterung für zugehörige Token-Konten (ATA) ("balanceChanged","all"oder"none"), sodass eineaccountInclude-Wallet auch mit Transaktionen übereinstimmt, bei denen sie ein SPL-Tokenguthaben besitzt. Sieh dir Filtern nach Token-Konten (ATA) und unten den Tab Watching a Wallet an.matchMints— optionales Flag, das die Kontolisten zusätzlich mit den Mints in den Token-Guthaben vor und nach einer Transaktion abgleicht. Dadurch erfasst ein Mint inaccountIncludejede Übertragung, jeden Swap, jeden Mint-Vorgang und jeden Burn dieses Tokens. Sieh dir Filtern nach Token-Mints und unten den Tab Watching a Token an.
- Program Filtering
- Account-Specific
- Advanced Filtering
- Watching a Wallet
- Watching a Token
Überwache Transaktionen, an denen bestimmte Programme beteiligt sindVerfolge alle Transaktionen, die für dich relevante Programme betreffen:Ideal für: programmspezifische Überwachung, Nachverfolgung von DeFi-Protokollen und Interaktionen mit Smart Contracts.
Praktische Beispiele
Beispiel 1: DEX-Transaktionen überwachen
Verfolge Transaktionen, die gängige DEX-Programme betreffen:Beispiel 2: Fehlgeschlagene Transaktionen überwachen
Verfolge fehlgeschlagene Transaktionen, um Probleme in der Anwendung zu erkennen:Beispiel 3: Transaktionen mit hohem Wert überwachen
Verfolge Transaktionen mit umfangreichen SOL-Übertragungen:Beispiel 4: Eine Wallet überwachen (einschließlich Token-Übertragungen)
Überwache alle Geldbewegungen einer Wallet – einschließlich eingehender SPL-Token-Übertragungen, die ihre ATAs betreffen –, indem dutokenAccounts zu einem einfachen accountInclude-Filter hinzufügst:
Datenstruktur der Transaktion
Transaction Message Structure
Transaction Message Structure
Token Balance Changes
Token Balance Changes
Instruction Details
Instruction Details
Referenz zur Filterlogik
Include Logic (OR)
accountInclude: Die Transaktion muss MINDESTENS EINES dieser Konten betreffen.["A", "B"] stimmt mit Transaktionen überein, die Konto A ODER Konto B betreffen.Required Logic (AND)
accountRequired: Die Transaktion muss ALLE diese Konten betreffen.["A", "B"] stimmt mit Transaktionen überein, die Konto A UND Konto B betreffen.Exclude Logic (NOT)
accountExclude: Die Transaktion darf KEINES dieser Konten betreffen.Combined Logic
Abschließender Filter:
(accountInclude OR empty) AND (accountRequired AND all) AND NOT (accountExclude OR any).Leistungsaspekte
- Volume Management
- Data Processing
Transaktions-streams können ein hohes Datenvolumen haben. So kannst du Schritt halten:
- Beginne mit spezifischen Programmfiltern (abonniere nicht „alle Transaktionen“)
- Verwende
confirmedstattprocessed, wenn du etwa 1,5 Sekunden zusätzliche Latenz tolerieren kannst - Überwache deine Verarbeitungskapazität mit einem Zähler
- Erwäge, parallele Consumer hinter einer Warteschlange auszuführen
Fehlerbehandlung
Too Many Transactions
Too Many Transactions
Symptom: Überwältigendes Transaktionsvolumen.Lösungen: Füge strengere Filter hinzu (
accountRequired, accountExclude); verwende ein höheres commitment; implementiere Sampling oder eine rate limit; verarbeite die Daten asynchron.Missing Transactions
Missing Transactions
Symptom: Erwartete Transaktionen werden nicht angezeigt.Lösungen: Prüfe, ob die Programmadressen korrekt sind; prüfe, ob die Transaktionen tatsächlich existieren; verwende
processed für schnellere Aktualisierungen; lockere restriktive accountRequired-/accountExclude-Filter.Parse Errors
Parse Errors
Symptom: Die Transaktionsdaten können nicht geparst werden.Lösungen: Behandle fehlende Felder robust; validiere die Struktur vor der Verarbeitung; kapsle das Parsen in try/catch; sieh dir Transaktionsdaten decodieren an.
Nächste Schritte
Slot & Block Monitoring
Verfolge den Netzwerkkonsens und die Blockproduktion.
Stream Pump AMM Data
Praxisbeispiel: Überwache Pump.fun-AMM-Transaktionen.
Decoding Transaction Data
Parse die binären Transaktions-payloads in lesbare Solana-Transaktionen.
Yellowstone protocol reference
Derselbe Workflow mit dem zugrunde liegenden Yellowstone-gRPC-Protokoll.