Skip to main content
preprocessedSubscribe diffuse les transactions signées avant qu’elles n’atteignent le niveau d’engagement processed, décodées à partir des fragments à leur arrivée au validateur, sans infrastructure de défragmentation requise de votre côté. Ce guide construit un moniteur qui surveille un programme de trading avant exécution, déduplique le flux, reste sous la limite de contre-pression du serveur et rapproche les données traitées avant d’agir.
Transactions prétraitées sont disponibles sur tous les plans payants et coûtent 0.1 crédits par message, avec jusqu’à 10 connexions simultanées par clé API.

Ciblez l’abonnement sur votre objectif

Il n’y a pas de flux non filtré : accountInclude et accountRequired doivent nommer au moins un compte entre eux. Pour un moniteur de trading, incluez le programme contre lequel vous tradez et excluez le bruit que vous paieriez autrement :
Les filtres se combinent avec AND, chaque liste accepte jusqu’à 5 000 adresses, et Helius résout les tables de recherche d’adresses côté serveur, de sorte qu’un compte chargé via un ALT correspond toujours. Pour surveiller les interactions d’un portefeuille spécifique avec le programme, placez les deux dans le champ accountRequired à la place.

Décoder les trames et dédupliquer par signature

Les notifications arrivent sous forme de trames binaires : un préfixe de 73 octets, puis la transaction sérialisée en bincode. La signature est dans le préfixe, vous pouvez donc dédupliquer sans décoder le corps. Le flux agrège plusieurs sources avant exécution, et la même transaction peut arriver plus d’une fois :
monitor.js

Gardez la boucle de réception plus rapide que le flux

Helius ne tamponne pas indéfiniment pour les consommateurs lents : si plus de 4 000 messages s’accumulent côté serveur, la connexion est fermée. C’est pourquoi le gestionnaire ci-dessus ne lit que le préfixe de 73 octets et met en file d’attente. La désérialisation et la logique de stratégie s’exécutent dans une boucle séparée :
Si la file d’attente croît sans limite, resserrez les filtres. Les transactions que vous écartez côté client coûtent toujours 0.1 crédits chacune et comptent toujours dans la limite de contre-pression.

Reconcile against processed data

Une transaction prétraitée montre ce que l’expéditeur a essayé de faire, pas ce qui s’est passé. Elle ne comporte pas de statut d’exécution, de changements de solde ou de journaux, et elle peut échouer, être abandonnée ou atterrir sur une autre branche. La livraison est au mieux sans relecture historique, donc :
  • Rapprochez-vous de transactionSubscribe à processed ou confirmed avant que votre stratégie ne réserve quoi que ce soit comme un fait.
  • En cas de déconnexion, réabonnez-vous immédiatement et acceptez l’écart, car il n’y a pas de relecture pour le combler.
  • Si vous avez besoin de l’état du compte en temps réel plutôt que des intentions de transaction, cela n’existe qu’après exécution : utilisez LaserStream gRPC à processed.

Guides connexes

Référence de preprocessedSubscribe

Disposition complète de la charge utile, règles de filtrage, contre-pression, et tarification

Commerce sur les pré-confirmations

Le signal de transaction le plus précoce offert par Helius, directement du planificateur