Skip to main content
La surveillance des slots et blocs vous offre une vue sur le consensus du réseau Solana, le timing de production des blocs, et la santé globale. Avec LaserStream, vous pouvez suivre la progression des slots, la finalisation des blocs, et les métriques de performance du réseau en temps réel en utilisant le SDK helius-laserstream.
Prérequis : Ce guide suppose que vous avez terminé le Quickstart LaserStream gRPC et que vous possédez une clé API.

Types de Surveillance

Suivez la progression du consensus réseauSurveillez l’avancement des slots à travers les niveaux d’engagement :
Les données de slot incluent : numéro de slot, slot parent, statut d’engagement (processed / confirmed / finalized), et informations sur le leader.
Idéal pour : Surveillance de la santé du réseau, analyse de synchronisation des slots, suivi du consensus.

Exemples Pratiques

Exemple 1 : Surveillance de la Santé du Réseau

Suivez la progression des slots et identifiez les problèmes du réseau :

Exemple 2 : Surveillance de la Production des Blocs

Suivez la production des blocs et le volume des transactions :

Exemple 3 : Surveillance Filtrée des Blocs

Surveillez les blocs contenant une activité de programme spécifique :

Structures de Données

Chaque slot représente environ 400ms de temps réseau. Les trois niveaux d’engagement reflètent des garanties progressivement plus fortes : processed (initial), confirmed (supermajorité votée), finalized (irréversible).
Les champs u64 (slot, parent) arrivent sous forme de chaînes pour préserver la précision au-delà de Number.MAX_SAFE_INTEGER. Convertissez avec Number(slot.slot) lorsque vous avez besoin d’arithmétique. status est une enum numérique — utilisez CommitmentLevel[slot.status] pour le nom lisible.
Les champs numériques (slot, parentSlot, executedTransactionCount, entriesCount, les valeurs à l’intérieur de blockHeight et blockTime) sont émis sous forme de chaînes car ils sont u64 dans le proto sous-jacent. Enveloppez-les dans Number(...) pour l’arithmétique ou les comparaisons.
Les blocs complets peuvent atteindre plusieurs Mo avec toutes les transactions et comptes. La même convention u64-as-string s’applique — enveloppez les champs numériques avec Number(...) pour l’arithmétique. À l’intérieur de chaque transaction, meta.fee, meta.preBalances, meta.postBalances, etc. sont également des chaînes.

Considérations de Performance

Surveillance des Slots

Léger : très faible bande passante, surcharge de traitement minimale. Idéal pour les tableaux de bord de surveillance.

Métadonnées des Blocs

Équilibré : bande passante modérée, insights de niveau bloc sans données complètes. Convient pour l’analytique.

Blocs Complets

Volume élevé : données complètes de transactions, nécessite un traitement robuste. Toujours associer avec des filtres.

Blocs Filtrés

Optimisé : utilisez accountInclude, désactivez includeAccounts/includeEntries dont vous n’avez pas besoin.

Cas d’Utilisation

Suivez la santé et la performance du réseau — synchronisation des slots, congestion, consensus.

Gestion des Erreurs

Symptôme : Lacunes dans la progression des slots.Causes : Problèmes de connectivité réseau, indisponibilité du validateur, délais de traitement du client.Solutions : Suivez les lacunes des slots et alertez ; implémentez une logique de rattrapage via relecture historique ; surveillez la santé de la connexion.
Symptôme : Trop de données de blocs.Solutions : Utilisez les métadonnées des blocs au lieu des blocs complets ; appliquez des filtres de compte ; désactivez les inclusions inutiles (entrées, comptes) ; traitez de manière asynchrone.
Symptôme : Synchronisation des slots incohérente.Analyse : Calculez des moyennes mobiles ; suivez les écarts ; surveillez les métriques de santé du réseau ; corrélez avec les performances du validateur.

Meilleures Pratiques

Directives de Production :
  • Commencez avec les métadonnées — utilisez les métadonnées de bloc avant de vous abonner aux blocs complets
  • Appliquez des filtres — utilisez accountInclude pour éliminer les données non pertinentes
  • Surveillez le timing — suivez la progression des slots comme un canari de santé du réseau
  • Gérez les lacunes — combinez avec relecture historique pour que les slots manquants soient automatiquement complétés lors de la reconnexion
  • Traitez de manière asynchrone — ne bloquez pas le traitement des flux avec des calculs lourds
  • Adaptez l’engagement à vos besoinsprocessed pour les UI à faible latence, confirmed/finalized pour les écritures d’état

Étapes Suivantes

Surveillance des Transactions

Filtrez les transactions par programme, compte, vote ou statut d’échec.

Diffusez les Données Pump AMM

Exemple réel : surveillez les transactions Pump AMM.

Décodage des Données de Transaction

Analysez les charges utiles transactionUpdate en transactions Solana lisibles.

Référence du protocole Yellowstone

Le même workflow avec le protocole gRPC Yellowstone brut.