Developing > Vanliga frågor om Substreams-drivna subgrafer

Vanliga frågor om Substreams-drivna subgrafer

Reading time: 4 min

Vad är Substreams?

Länk till detta avsnitt

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.

Gå till Substreams Documentation för att lära dig mer om Substreams.

Vad är Substreams-drivna subgrafer?

Länk till detta avsnitt

Substreams-drivna subgrafer kombinerar kraften hos Substreams med subgrafiernas möjlighet att frågas. När en Substreams-driven subgraf publiceras kan datan som produceras av Substreams omvandlingar utdata ändringar av enheter, vilket är kompatibelt med subgrafiernas enheter.

Om du redan är bekant med utveckling av subgrafer kan du notera att Substreams-drivna subgrafer sedan kan frågas på samma sätt som om de hade producerats av AssemblyScript omvandlingslagret, med alla fördelar med subgrafer, som att tillhandahålla en dynamisk och flexibel GraphQL API.

Hur skiljer sig Substreams-drivna subgrafer från subgrafer?

Länk till detta avsnitt

Subgrafer består av datakällor som specificerar händelser på blockkedjan och hur dessa händelser ska omvandlas via hanterare skrivna i AssemblyScript. Dessa händelser bearbetas sekventiellt, baserat på ordningen som händelserna inträffar på blockkedjan.

Å andra sidan har Substreams-drivna subgrafer en enda datakälla som refererar till ett Substreams-paket, vilket bearbetas av Graph Node. Substreams har tillgång till ytterligare detaljerade on-chain data jämfört med konventionella subgrafer och kan även dra nytta av massivt parallell bearbetning, vilket kan leda till betydligt snabbare bearbetningstider.

Vilka fördelar har användning av Substreams-drivna subgrafer?

Länk till detta avsnitt

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.

Vilka fördelar har Substreams?

Länk till detta avsnitt

Det finns många fördelar med att använda Substreams, inklusive:

  • Sammansättbarhet: Du kan stapla Substreams-moduler som LEGO-block och bygga på gemenskapsmoduler för att ytterligare förädla offentliga data.

  • Högpresterande indexering: Ordervärden snabbare indexering genom storskaliga kluster av parallella operationer (tänk BigQuery).

  • Utdata var som helst: Du kan sänka dina data var som helst du vill: PostgreSQL, MongoDB, Kafka, subgrafer, platta filer, Google Sheets.

  • Programmerbarhet: Använd kod för att anpassa extrahering, utföra transformationsbaserade aggregeringar och modellera din utdata för flera sänkar.

  • Tillgång till ytterligare data som inte är tillgänglig som en del av JSON RPC

  • Alla fördelar med Firehose.

Vad är Firehose?

Länk till detta avsnitt

Utvecklat av StreamingFast, är Firehose ett blockkedjedata-extraktionslager som är utformat från grunden för att bearbeta blockkedjans fullständiga historik med hastigheter som tidigare inte var skådade. Genom att erbjuda en filbaserad och strömningsorienterad metod är det en kärnkomponent i StreamingFasts svit med öppen källkodstekniker och grunden för Substreams.

Gå till documentation för att lära dig mer om Firehose.

Vilka fördelar har Firehose?

Länk till detta avsnitt

Det finns många fördelar med att använda Firehose, inklusive:

  • Lägsta latens och ingen avfrågning: I en strömningsorienterad stil är Firehose-noderna utformade för att snabbt skicka ut blockdata.

  • Förebygger driftstopp: Designat från grunden för hög tillgänglighet.

  • Missa aldrig en händelse: Firehose-strömmens markör är utformad för att hantera gafflar och att fortsätta där du avslutade under alla förhållanden.

  • Rikaste datamodell:  Bästa datamodell som inkluderar balansändringar, hela anropsträdet, interna transaktioner, loggar, lagringsändringar, gasavgifter och mer.

  • Använder platta filer: Blockkedjedata extraheras till platta filer, den billigaste och mest optimerade datorkällan som finns tillgänglig.

Var kan utvecklare få mer information om Substreams-drivna subgrafer och Substreams?

Länk till detta avsnitt

Substreams-dokumentationen kommer att lära dig hur du bygger Substreams-moduler.

Substreams-drivna subgrafer dokumentationen kommer att visa dig hur man paketerar dem för distribution på The Graph.

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

Vad är rollen för Rust-moduler i Substreams?

Länk till detta avsnitt

Rust-moduler är motsvarigheten till AssemblyScript-mappers i subgrafer. De kompileras till WASM på ett liknande sätt, men programmeringsmodellen tillåter parallell körning. De definierar vilken typ av omvandlingar och aggregeringar du vill tillämpa på råblockkedjedata.

See modules documentation for details.

Vad gör Substreams sammansättbart?

Länk till detta avsnitt

Vid användning av Substreams sker sammansättningen på omvandlingsnivån, vilket gör att cachade moduler kan återanvändas.

Som exempel kan Alice bygga en DEX-prismodul, Bob kan använda den för att bygga en volymaggregator för vissa intressanta tokens, och Lisa kan kombinera fyra individuella DEX-prismoduler för att skapa en prisoracle. En enda Substreams-begäran kommer att paketera alla dessa individuella moduler, länka dem samman, för att erbjuda en mycket mer förädlad dataström. Den strömmen kan sedan användas för att fylla i en subgraf och frågas av användare.

Hur kan man bygga och distribuera en Substreams-drivna subgraf?

Länk till detta avsnitt

Efter att ha defining en Substreams-drivna subgraf kan du använda Graph CLI för att distribuera den i Subgraph Studio.

Var kan jag hitta exempel på Substreams och Substreams-drivna subgrafer?

Länk till detta avsnitt

Du kan besöka detta Github-repo för att hitta exempel på Substreams och Substreams-drivna subgrafer.

Vad innebär Substreams och Substreams-drivna subgrafer för The Graph Network?

Länk till detta avsnitt

Integrationen lovar många fördelar, inklusive extremt högpresterande indexering och ökad sammansättbarhet genom att dra nytta av gemenskapsmoduler och bygga vidare på dem.

Redigera sida

Tidigare
Vanliga frågor för utvecklare
Nästa
Deploy Using Subgraph Studio
Redigera sida