Retour aux questions fréquentes

Comment fonctionnent les indexeurs blockchain ?

Mis à jour en août 2026

Un indexeur lit les blocs d'une blockchain, décode les données binaires brutes en enregistrements exploitables, et écrit ces enregistrements dans un magasin que vous pouvez interroger. Il fait cela pour tout l'historique de la chaîne, puis continue au fur et à mesure que de nouveaux blocs arrivent.

L'ingénierie intéressante se joue à trois endroits : comment il récupère les données, comment il traite l'historique sans que cela prenne des semaines, et ce qu'il fait quand la chaîne se réorganise.

Comment un indexeur récupère-t-il les données de la chaîne ?

Deux approches, et le choix conditionne tout ce qui suit.

Le polling via RPC. L'indexeur demande de façon répétée à un nœud les nouveaux blocs et leurs logs. Simple, fonctionne avec n'importe quel nœud standard, et lent — chaque bloc coûte un aller-retour, et lire l'historique en implique des millions.

L'extraction instrumentée. Le nœud lui-même émet tout au fur et à mesure de l'exécution, une seule fois, et cette sortie est stockée. Rien n'est requêté à nouveau. C'est ainsi que fonctionne Firehose, et c'est pour cela qu'il peut capturer des détails d'exécution — arbres d'appels, changements d'état, changements de solde — qui n'apparaissent jamais dans les logs.

Comment les données historiques sont-elles traitées ?

C'est là que les indexeurs diffèrent le plus en pratique.

Séquentiellement. Traiter le bloc 1, puis le bloc 2, et ainsi de suite. Simple et correct, mais le temps de synchronisation est proportionnel à la longueur de la chaîne. Pour une grande chaîne, cela peut représenter des jours ou des semaines, et chaque changement de schéma relance cette horloge.

En parallèle. Découper l'historique en segments et les traiter simultanément, puis fusionner. Cela exige que les transformations soient structurées de sorte que les segments ne dépendent pas les uns des autres — ce qui explique pourquoi les moteurs qui fonctionnent ainsi imposent une structure de modules plutôt que de laisser écrire du code arbitraire.

Substreams adopte l'approche parallèle, puis bascule en diffusion en direct une fois qu'il atteint la tête de chaîne. Le même code de module sert l'historique et les données en temps réel.

Que se passe-t-il quand la chaîne se réorganise ?

Les blocs récents ne sont pas définitifs. Un bloc que votre indexeur a déjà traité peut être remplacé, et tout ce que vous en avez déduit devient alors incorrect.

Les indexeurs naïfs ignorent ce problème et conservent des données incorrectes. Les meilleurs attendent un nombre fixe de blocs avant de considérer quoi que ce soit comme définitif, échangeant de la latence contre de la sécurité. L'approche la plus robuste est un curseur — un jeton identifiant précisément où en est un consommateur dans la chaîne, y compris le contexte de fork — de sorte qu'un flux puisse décrire ce qui a été annulé plutôt que de le sauter silencieusement, et qu'un consommateur déconnecté puisse reprendre exactement au bon endroit.

À quoi ressemble la sortie ?

À ce dont vous avez besoin. Une API GraphQL, des lignes dans Postgres ou ClickHouse, des messages sur un topic Kafka, ou un flux que votre application consomme directement.

La destination s'appelle un sink. Cela compte parce que la forme de votre sortie détermine quelles requêtes seront bon marché plus tard — un indexeur qui n'offre qu'une seule forme de sortie a pris cette décision à votre place.


Questions fréquentes

Tous les indexeurs gèrent-ils les réorganisations ? Non. Certains les ignorent, d'autres attendent une profondeur de confirmation fixe, et d'autres encore suivent explicitement l'état des forks avec des curseurs. Cela vaut la peine de vérifier, car l'échec est silencieux.

Puis-je indexer une chaîne sans faire tourner un nœud ? Oui. Des points d'accès hébergés fournissent des données indexées sans que vous ayez à exploiter d'infrastructure.

Pourquoi certains indexeurs mettent-ils des jours à se synchroniser ? Parce qu'ils traitent l'historique séquentiellement. Les moteurs qui parallélisent le traitement historique évitent ce problème.


Obtenez des données indexées sans exploiter de nœud — clé API sur thegraph.market, aucune information personnelle requise.

Voir aussi : Qu'est-ce que l'indexation blockchain ? · Qu'est-ce qu'un Firehose blockchain ? · Qu'est-ce qu'une réorganisation de chaîne blockchain ?