Substreams

Reading time: 2 min

Logo Substreams

Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach.

With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain.

Le fonctionnement de Substreams en 4 étapes

Lien vers cette section
  1. 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, hachage et hachage parent) .
fn get_my_block(blk: Block) -> Result<MyBlock, substreams::errors::Error> {
let header = blk.header.as_ref().unwrap();
Ok(MyBlock {
number: blk.number,
hash: Hex::encode(&blk.hash),
parent_hash: Hex::encode(&header.parent_hash),
})
}
  1. Il suffit d'exécuter une seule commande CLI pour transformer votre programme Rust en un module WASM.

  2. Le conteneur WASM est envoyé à un point de terminaison Substreams pour exécution. Le fournisseur Substreams alimente le conteneur WASM avec les données blockchain et les transformations sont appliquées.

  3. You select a sink, a place where you want to send the transformed data (a Postgres database or a Subgraph, for example).

Documentation des Substreams

Lien vers cette section

La documentation officielle de Substreams est actuellement maintenue par l'équipe de StreamingFast sur le site web de StreamingFast.

To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check Substreams Codegen.

  • In order to develop and deploy a Substreams, you must install the Substreams CLI.
  • Then, run your first Substreams by following the Quickstart Tutorial.

Élargissez vos connaissances

Lien vers cette section
Modifier une page

Précédente
Guide de migration des validations GraphQL
Suivante
Introduction
Modifier une page