Developing > FAQ sur les subgraphs alimentés par les sous-flux

FAQ sur les subgraphs alimentés par les sous-flux

Reading time: 6 min

Que sont les sous-flux ?

Lien vers cette section

Developed by StreamingFast, Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the Firehose, it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and sink their data anywhere.

Rendez-vous sur le site Substreams Documentation pour en savoir plus sur Substreams.

Qu'est-ce qu'un subgraph alimenté par des courants de fond ?

Lien vers cette section

Les subgraphs alimentés par Substreams combinent la puissance de Substreams avec la capacité d'interrogation des subgraphs. Lors de la publication d'un subgraph alimenté par Substreams, les données produites par les transformations Substreams peuvent [output entity changes] (https://github.com/streamingfast/substreams-sink-entity-changes/blob/develop/substreams-entity-change/src/tables.rs), qui sont compatibles avec les entités du subgraph.

Si vous êtes déjà familiarisé avec le développement de subgraphs, notez que les subgraphs alimentés par Substreams peuvent ensuite être interrogés, comme s'ils avaient été produits par la couche de transformation AssemblyScript, avec tous les avantages de Subgraph, comme la fourniture d'une API GraphQL dynamique et flexible.

En quoi les subgraphs alimentés par les courants secondaires sont-ils différents des subgraphs ?

Lien vers cette section

Les subgraphs sont constitués de sources de données qui spécifient les événements de la chaîne et la manière dont ces événements doivent être traités par des gestionnaires écrits en Assemblyscript. Ces événements sont traités de manière séquentielle, en fonction de l'ordre dans lequel ils se produisent dans la chaîne.

En revanche, les subgraphs alimentés par des flux secondaires disposent d'une source de données unique référençant un paquet de flux secondaires, qui est traité par le nœud de graphe. Les subgraphs ont accès à des données granulaires supplémentaires sur la chaîne par rapport aux subgraphs conventionnels et peuvent également bénéficier d'un traitement massivement parallélisé, ce qui peut se traduire par des temps de traitement beaucoup plus rapides.

Quels sont les avantages de l'utilisation de subgraphs alimentés par des courants descendants ?

Lien vers cette section

Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your Substreams modules to output to different sinks such as PostgreSQL, MongoDB, and Kafka.

Quels sont les avantages de Substreams ?

Lien vers cette section

L'utilisation de Substreams présente de nombreux avantages, notamment:

  • Composable : Vous pouvez empiler les modules Substreams comme des blocs LEGO et construire des modules communautaires pour affiner les données publiques.

  • Indexation haute performance : Indexation plus rapide d'un ordre de grandeur grâce à des grappes d'opérations parallèles à grande échelle (comme BigQuery).

  • Sortez vos données n'importe où : Transférez vos données où vous le souhaitez : PostgreSQL, MongoDB, Kafka, subgraphs, fichiers plats, Google Sheets.

  • Programmable : Utilisez du code pour personnaliser l'extraction, effectuer des agrégations au moment de la transformation et modéliser vos résultats pour plusieurs puits.

  • Accès à des données supplémentaires qui ne sont pas disponibles dans le cadre de la RPC JSON

  • Tous les avantages du Firehose.

Tous les avantages du Firehose?

Lien vers cette section

Développé par [StreamingFast] (https://www.streamingfast.io/), le Firehose est une couche d'extraction de données de blockchain conçue à partir de zéro pour traiter l'historique complet des blockchains à des vitesses jusqu'alors inconnues . Obtenez une approche basée sur les fichiers et le streaming, il s'agit d'un composant essentiel de la suite de technologies open-source de StreamingFast et de la base de Substreams.

Consultez la [documentation] (https://firehose.streamingfast.io/) pour en savoir plus sur le Firehose.

Quels sont les avantages du Firehose ?

Lien vers cette section

L'utilisation de Firehose présente de nombreux avantages, notamment:

  • Temps de latence le plus faible et pas d'interrogation : Les nœuds Firehose sont conçus pour faire la course afin de diffuser les données en bloc en premier, selon le principe "streaming-first".

  • Prévient les temps d'arrêt : Conçu dès le départ pour une haute disponibilité.

  • Ne manquez jamais le rythme : Le curseur du flux Firehose est conçu pour gérer les bifurcations et pour reprendre là où vous vous êtes arrêté dans n'importe quelle condition.

  • Modèle de données le plus riche :   Meilleur modèle de données qui inclut les changements de solde, l'arbre d'appel complet, les transactions internes, les journaux, les changements de stockage, les coûts du gaz, etc.

  • Exploite les fichiers plats : Les données de la blockchain sont extraites dans des fichiers plats, la ressource informatique la moins chère et la plus optimisée disponible.

Où les développeurs peuvent-ils trouver plus d'informations sur les subgraphs alimentés par Substreams et sur Substreams ?

Lien vers cette section

La documentation Substreams vous apprendra à construire des modules Substreams.

La [documentation sur les subgraphs alimentés par des flux partiels] (/cookbook/substreams-powered-subgraphs/) vous montrera comment les emballer pour les déployer sur The Graph.

The latest Substreams Codegen tool will allow you to bootstrap a Substreams project without any code.

Quel est le rôle des modules Rust dans Substreams ?

Lien vers cette section

Les modules Rust sont l'équivalent des mappeurs AssemblyScript dans les subgraphs. Ils sont compilés dans WASM de la même manière, mais le modèle de programmation permet une exécution parallèle. Ils définissent le type de transformations et d'agrégations que vous souhaitez appliquer aux données brutes de la blockchain.

See modules documentation for details.

Qu'est-ce qui rend Substreams composable ?

Lien vers cette section

Lors de l'utilisation de Substreams, la composition a lieu au niveau de la couche de transformation, ce qui permet de réutiliser les modules mis en cache.

Par exemple, Alice peut créer un module de prix DEX, Bob peut l'utiliser pour créer un agrégateur de volume pour certains jetons qui l'intéressent, et Lisa peut combiner quatre modules de prix DEX individuels pour créer un oracle de prix. Une seule requête Substreams regroupera tous ces modules individuels, les reliera entre eux, pour offrir un flux de données beaucoup plus raffiné. Ce flux peut ensuite être utilisé pour alimenter un subgraph et être interrogé par les consommateurs.

Comment pouvez-vous créer et déployer un Subgraph basé sur Substreams ?

Lien vers cette section

Après avoir defining un Subgraph alimenté par Substreams, vous pouvez utiliser la CLI Graph pour le déployer dans Subgraph Studio.

Où puis-je trouver des exemples de subgraphs et de subgraphs alimentés par des substreams ?

Lien vers cette section

Vous pouvez visiter [ce repo Github] (https://github.com/pinax-network/awesome-substreams) pour trouver des exemples de Substreams et de subgraphs alimentés par Substreams.

Que signifient les subgraphs et les subgraphs alimentés par des substreams pour le réseau graph ?

Lien vers cette section

L'intégration promet de nombreux avantages, notamment une indexation extrêmement performante et une plus grande composabilité grâce à l'exploitation des modules de la communauté et à leur développement.

Modifier une page

Précédente
FAQs pour les développeurs
Suivante
Deploy Using Subgraph Studio
Modifier une page