2 minutes
Introduction à Substreams

Pour commencer à coder tout de suite, consultez le [Démarrage rapide de Substreams] (/substreams/quick-start/).
Aperçu
Substreams est une puissante technologie d’indexation parallèle de la blockchain conçue pour améliorer les performances et l’évolutivité au sein de The Graph Network.
Avantages de Substreams
- Indexation accélérée : Augmentez le temps d’indexation des subgraphs grâce à un moteur parallélisé pour une récupération et un traitement plus rapides des données.
- Prise en charge de plusieurs blockchains : Étendre les capacités d’indexation au-delà des blockchains basées sur EVM, en prenant en charge des écosystèmes tels que Solana, Injective, Starknet et Vara.
- Modèle de données amélioré : Accédez à des données complètes, y compris les données de niveau
trace
sur EVM ou les changements de compte sur Solana, tout en gérant efficacement les forks/déconnexions. - Support multi-Sink: Pour Subgraph, base de données Postgres, Clickhouse, et base de données Mongo.
Le fonctionnement de Substreams en 4 étapes
- Vous écrivez un programme Rust, qui définit les transformations que vous souhaitez appliquer aux données de la blockchain. Par exemple, la fonction Rust suivante extrait les informations pertinentes d’un bloc Ethereum (numéro, hash et hash parent).
1fn get_my_block(blk: Block) -> Result<MyBlock, substreams::errors::Error> {2 let header = blk.header.as_ref().unwrap();34 Ok(MyBlock {5 number: blk.number,6 hash: Hex::encode(&blk.hash),7 parent_hash: Hex::encode(&header.parent_hash),8 })9}
-
Il suffit d’exécuter une seule commande CLI pour transformer votre programme Rust en un module WASM.
-
Le conteneur WASM est envoyé à un endpoint Substreams pour exécution. Le fournisseur Substreams alimente le conteneur WASM avec les données de la blockchain et les transformations sont appliquées.
-
Vous sélectionnez un sink, un endroit où vous souhaitez envoyer les données transformées (comme une base de données SQL ou un subgraph).
Ressources supplémentaires
Toute la documentation destinée aux développeurs de Substreams est conservée par l’équipe de développement de StreamingFast sur le Registre Substreams.