5 minutes
Perguntas Frequentes: Subgraphs Movidos pelo Substreams
O que são Substreams?
Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. It allows you to refine and shape blockchain data for fast and seamless digestion by end-user applications.
Specifically, it’s a blockchain-agnostic, parallelized, and streaming-first engine that serves as a blockchain data transformation layer. It’s powered by Firehose, and enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and sink their data anywhere.
Substreams is developed by StreamingFast. Visit the Substreams Documentation to learn more about Substreams.
O que são subgraphs movidos por substreams?
Substreams-powered subgraphs combine the power of Substreams with the queryability of subgraphs. When publishing a Substreams-powered Subgraph, the data produced by the Substreams transformations, can output entity changes that are compatible with subgraph entities.
If you are already familiar with subgraph development, note that Substreams-powered subgraphs can then be queried just as if it had been produced by the AssemblyScript transformation layer. This provides all the benefits of subgraphs, including a dynamic and flexible GraphQL API.
Como subgraphs movidos a Substreams são diferentes de subgraphs?
Os subgraphs são compostos de fontes de dados que especificam eventos on-chain, e como transformar estes eventos através de handlers escritos em AssemblyScript. Estes eventos são processados em sequência, com base na ordem em que acontecem na chain.
Por outro lado, subgraphs movidos a substreams têm uma única fonte de dados que referencia um pacote de substreams, processado pelo Graph Node. Substreams têm acesso a mais dados granulares on-chain em comparação a subgraphs convencionais, e também podem se beneficiar de um processamento paralelizado em massa, o que pode diminuir a espera do processamento.
Quais os benefícios do uso de subgraphs movidos a Substreams?
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.
Quais os benefícios do Substreams?
Usar o Substreams incorre muitos benefícios, que incluem:
-
Compostável: Você pode empilhar módulos de Substreams como se fossem blocos de LEGO, e construir em cima de módulos da comunidade, para refinar dados públicos.
-
Indexação de alto desempenho: Indexação muito mais rápida através de clusters de larga escala de operações paralelas (como o BigQuery).
-
Mergulho em qualquer lugar: Mergulhe seus dados onde quiser: PostgreSQL, MongoDB, Kafka, subgraphs, arquivos planos, Google Sheets.
-
Programável: Use códigos para personalizar a extração, realizar agregações de tempo de transformação, e modelar o seu resultado para vários sinks.
-
Acesso a dados tradicionais que não são disponíveis como parte do RPC em JSON
-
Todos os benefícios do Firehose.
O que é o Firehose?
Desenvolvido pela StreamingFast, o Firehose é uma camada de extração de dados em blockchain desenhada do zero para processar o histórico completo de blockchains em velocidades nunca antes vistas. Com uma abordagem baseada em arquivos e que dá prioridade a transmissões, ele é um componente central do conjunto de tecnologias de código aberto da StreamingFast, e a fundação do Substreams.
Confira a documentação para aprender mais sobre o Firehose.
Quais os benefícios do Firehose?
Há muitos benefícios do uso do Firehose, que incluem:
-
Latência menor: De forma que prioriza as transmissões, os nodes do Firehouse são desenhados para correrem para revelar os dados do bloco em primeiro lugar.
-
Evita downtimes: Desenhado do zero para Alta Disponibilidade.
-
Não perde nada: O cursor de transmissões do Firehose é desenhado para lidar com forks e continuar de onde você parou em qualquer condição.
-
Modelo rico de dados: O melhor modelo de dados, que inclui as mudanças de saldo, a árvore de chamadas completa, transações internas, logs, mudanças de armazenamento, custos de gas, e mais.
-
Uso de arquivos planos: Dados de blockchain são extraídos em arquivos planos, o recurso de computação mais barato e otimizado disponível.
Onde programadores podem acessar mais informações sobre Substreams e subgraphs movidos a Substreams?
Para aprender como construir módulos do Substreams, leia a documentação do Substreams.
The Substreams-powered subgraphs documentation will show you how to package them for deployment on The Graph.
A ferramenta de Codegen no Substreams mais recente permitirá ao programador inicializar um projeto no Substreams sem a necessidade de código.
Qual é o papel de módulos em Rust no Substreams?
Módulos de Rust são o equivalente aos mapeadores em AssemblyScript em subgraphs. Eles são compilados em WASM de forma parecida, mas o modelo de programação permite execuções paralelas. Eles definem a categoria de transformações e agregações que você quer aplicar aos dados de blockchain crus.
See modules documentation for details.
O que faz o Substreams compostável?
Ao usar o Substreams, a composição é realizada na camada de transformação, permitindo o uso de módulos em cache.
Como exemplo, Fulana pode construir um módulo de preço de DEX, Sicrano pode usá-lo para construir um agregador de volume para alguns tokens do seu interesse, e Beltrana pode combinar quatro módulos de preço de DEX individuais para criar um oráculo de preço. Um único pedido do Substreams empacotará todos estes módulos e os interligará para oferecer uma transmissão de dados muito mais refinada. Aquela transmissão pode então ser usada para popular um subgraph, e ser consultada pelos consumidores.
Como construir e publicar um Subgraph movido a Substreams?
After defining a Substreams-powered Subgraph, you can use the Graph CLI to deploy it in Subgraph Studio.
Onde posso encontrar exemplos de Substreams e subgraphs movidos a Substreams?
Você pode visitar este repo do Github para encontrar exemplos de Substreams e subgraphs movidos a Substreams.
O que Substreams e subgraphs movidos a Substreams significam para a Graph Network?
A integração promete vários benefícios, incluindo indexações de altíssimo desempenho e mais composabilidade com o uso de módulos de comunidade e construção por cima deles.