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.
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:
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: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
transactionSubscribebeiprocessedoderconfirmedBestä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