Skip to main content
preprocessedSubscribe streamt signierte Transaktionen, bevor sie das processed Bestätigungsniveau erreichen, dekodiert aus Shreds, sobald sie beim Validator ankommen, ohne dass eine Deshredding-Infrastruktur auf Ihrer Seite erforderlich ist. Diese Anleitung erstellt einen Monitor, der ein Handelsprogramm vor der Ausführung beobachtet, den Feed dedupliziert, unter dem Drucklimit des Servers bleibt und gegen verarbeitete Daten abstimmt, bevor er handelt.
Vorausverarbeitete Transaktionen sind in allen kostenpflichtigen Plänen verfügbar und kosten 0,1 Credits pro Nachricht, mit bis zu 10 gleichzeitigen Verbindungen pro API-Schlüssel.

Beschränken Sie das Abonnement auf Ihr Ziel

Es gibt keinen ungefilterten Stream: accountInclude und accountRequired müssen mindestens ein Konto zwischen sich benennen. Für einen Handelsmonitor schließen Sie das Programm ein, gegen das Sie handeln, und schließen Sie Rauschen aus, das Sie sonst bezahlen müssten:
Filter kombinieren sich mit UND, jede Liste akzeptiert bis zu 5.000 Adressen, und Helius löst Adressensuchtabellen serverseitig auf, sodass ein Konto, das über eine ALT geladen wird, weiterhin übereinstimmt. Um die Interaktionen eines bestimmten Wallets mit dem Programm zu beobachten, setzen Sie beide stattdessen in das accountRequired Feld.

Dekodieren von Frames und Deduplizieren nach Signatur

Benachrichtigungen kommen als binäre Frames an: ein 73-Byte-Präfix, dann die bincode-serialisierte Transaktion. Die Signatur befindet sich im Präfix, sodass Sie deduplizieren können, ohne den Körper zu dekodieren. Der Stream aggregiert mehrere Vor-Ausführungsquellen, und die gleiche Transaktion kann mehrmals ankommen:
monitor.js

Halten Sie die Empfangsschleife schneller als den Stream

Helius puffert nicht unbegrenzt für langsame Verbraucher: Wenn mehr als 4.000 Nachrichten serverseitig zurückbleiben, wird die Verbindung geschlossen. Deshalb liest der obige Handler nur das 73-Byte-Präfix und stellt es in die Warteschlange. Deserialisierungs- und Strategielogik laufen in einer separaten Schleife:
Wenn die Warteschlange unbegrenzt wächst, verschärfen Sie die Filter. Transaktionen, die Sie clientseitig verwerfen, kosten immer noch 0,1 Credits und zählen immer noch gegen das Drucklimit.

Abstimmung gegen verarbeitete Daten

Eine vorausverarbeitete Transaktion zeigt, was der Absender zu tun versuchte, nicht das, was tatsächlich geschah. Sie enthält keinen Ausführungsstatus, keine Saldoänderungen oder Logs, und sie kann fehlschlagen, verworfen werden oder auf einem anderen Zweig landen. Die Lieferung erfolgt bestmöglich ohne historischen Rückblick, also:
  • Stimmen Sie gegen transactionSubscribe bei processed oder confirmed Bestätigung ab, bevor Ihre Strategie etwas als Tatsache bucht.
  • Beim Trennen sofort wieder abonnieren und die Lücke akzeptieren, da es keinen Rückblick zur Auffüllung gibt.
  • Wenn Sie den Echtzeitkontostand anstelle von Transaktionsabsichten benötigen, existiert dieser nur nach der Ausführung: Verwenden Sie LaserStream gRPC bei processed.

Verwandte Anleitungen

preprocessedSubscribe Referenz

Vollständiges Payload-Layout, Filterregeln, Rückwärtsdruck und Preisgestaltung

Handeln bei Vorbestätigungen

Das früheste Transaktionssignal, das Helius bietet, direkt vom Scheduler