Vue d’ensemble
Les transactions prétraitées sont des transactions Solana pré-exécution livrées avant qu’elles n’atteignent le niveau d’engagementprocessed. Helius agrège plusieurs sources de pré-exécution — principalement des shreds décodés directement à leur arrivée au validateur, complétés par des signaux de préconfirmation — et les livre sous la forme d’un flux unique dédupliqué, sans paquets de shreds bruts à recevoir ni infrastructure de déchiquetage à opérer de votre côté.
Les transactions provenant de signaux de préconfirmation arrivent plus tard sur ce flux que sur le produit dédié aux préconfirmations, qui reste le premier accès à celles-ci.
La méthode pour consommer des transactions prétraitées est la méthode preprocessedSubscribe WebSocket (Bêta Publique) — disponible sur tous les plans payants à 0,1 crédit par message.
preprocessedSubscribe (WSS)
La façon recommandée de diffuser des transactions prétraitées : filtrage par compte, charges utiles binaires compactes, tous les plans payants.
Où se situent les transactions prétraitées dans le cycle de vie
Dans l’architecture de Solana, les transactions passent par plusieurs étapes avant d’être entièrement traitées :- Réception des shreds → Le validateur reçoit des shreds de transaction (fragments de données). ← Shreds bruts (UDP) sont livrés ici.
- Décodage des shreds → Les shreds sont décodés en transactions brutes. ← Les transactions prétraitées sont principalement livrées ici.
- Exécution de la transaction → La transaction est exécutée par le runtime.
- Génération de métadonnées → Pré/post soldes, journaux, et informations d’erreur sont calculés.
- Engagement → La transaction atteint un état traité/confirmé/finalisé. ← LaserStream gRPC et LaserStream WebSocket livrent ici.
Quelles données sont disponibles ?
Les transactions prétraitées incluent la transaction signée complète, mais n’ont pas de métadonnées d’exécution :Données disponibles
- ✅ Signature de la transaction - Identifiant unique de la transaction
- ✅ Clés de compte - Tous les comptes référencés par la transaction
- ✅ Instructions - Données d’instruction complètes et appels de programmes
- ✅ Bloc récent - Référence d’expiration de la transaction
- ✅ Signatures - Toutes les signatures de la transaction
- ✅ Numéro de slot - Dans quel slot la transaction a été observée
Données manquantes
- ❌ Métadonnées de la transaction - Changements de solde de jeton, pré/post soldes, statut de la transaction
- ❌ Erreurs de la transaction - Nous ne pouvons pas déterminer si la transaction a échoué
- ❌ Instructions internes - Les invocations inter-programmes (CPI) ne sont pas incluses
- ❌ Messages de journal - Les journaux de programme sont générés pendant l’exécution
- ❌ Unités de calcul consommées - Métriques d’exécution indisponibles
Garanties de livraison
La livraison est une meilleure pratique, non garantie, et il n’y a pas de relecture historique. Une transaction diffusée est un signal pré-exécution, pas un niveau d’engagement — elle peut échouer, être abandonnée, ou atterrir sur une branche différente. Dédupliquez par signature et conciliez avec un flux traité ou confirmé lorsque les résultats d’exécution comptent. Pour les applications critiques nécessitant une livraison garantie et des données complètes, utilisez plutôt LaserStream gRPC.Quand utiliser les transactions prétraitées
Applications sensibles à la latence qui veulent des transactions décodées, pré-exécution sans opérer un décodeur de shreds :- propAMMs
- Snipers
- Traders mimétiques
- Bots de liquidation
- Arbitrage
Tarification
preprocessedSubscribe est disponible sur tous les plans payants et mesuré à 0,1 crédit par message — un message par transaction livrée. Voir Crédits pour plus de détails.
FAQs
Pouvez-vous mettre à jour les filtres d'abonnement prétraités en direct ?
Pouvez-vous mettre à jour les filtres d'abonnement prétraités en direct ?
Non, le filtre est fixé par l’initialisation
preprocessedSubscribe. Pour éviter un écart, nous recommandons d’ouvrir une seconde connexion avec le nouveau filtre, d’attendre la confirmation de l’abonnement, puis de transférer votre service vers le nouveau filtre.La limite d'abonnement simultané préprocessedSubscribe est-elle par clé API ou par compte ?
La limite d'abonnement simultané préprocessedSubscribe est-elle par clé API ou par compte ?
La limite de 10 connexions simultanées est appliquée par clé API. Chaque clé API dans un projet bénéficie de sa propre limite de 10 connexions.
Prochaines étapes
S'abonner avec preprocessedSubscribe
Point de terminaison, filtrage de compte, disposition de la charge utile binaire, et exemples de code.
Préconfirmations
Transactions diffusées avant qu’elles ne deviennent des shreds — le signal de transaction le plus précoce.
Shreds Bruts (UDP)
Paquets de shreds non traités via UDP. Vous implémentez le déchiquetage.
Expéditeur Helius
Agissez sur ce que vous voyez avec l’atterrissage de transaction le plus rapide.