Perguntas frequentes sobre subgraphs movidos por substreams
Reading time: 5 min
Desenvolvido pela , o Substreams é um motor de processamento de poder excepcional, capaz de consumir fluxos ricos de dados em blockchain. O Substreams lhe permite refinar e moldar dados em blockchain para serem digeridos rápida e suavemente por aplicativos de utilizador final. Mais especificamente, o Substreams é um motor paralelizado e agnóstico a blockchains, que põe transmissões em primeiro lugar e serve como uma camada de transformação de dados em blockchain. Movido pelo , ele permite que programadores escrevam módulos em Rust, construam sobre módulos da comunidade, providenciem indexações de altíssimo desempenho, e mandar seus dados para qualquer destino com .
Vá à para aprender mais sobre Substreams.
combinam o poder do Substreams com a consultabilidade de subgraphs. Ao publicar um subgraph movido a Substreams, os dados produzidos pelas transformações no Substreams podem , que são compatíveis com entidades no subgraph.
Se você já for familiar com a programação de subgraphs, então note que subgraphs movidos a Substreams podem ser consultados do mesmo jeito que se tivessem sido produzidos pela camada de transformação em AssemblyScript, com todos os benefícios do Subgraph, como a providência de uma API GraphQL dinâmica e flexível.
Subgraphs são compostos de fontes de dados que especificam eventos on-chain, e como estes eventos devem ser transformados através de handlers escritos em AssemblyScript. Estes eventos são processados em sequência, com base na ordem na qual eventos acontecem na chain.
Ao contrário, 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 resultar em tempos de processamento muito mais rápidos.
Subgraphs movidos a Substreams combinam todos os benefícios do Substreams com o potencial de query de subgraphs. Eles também trazem mais composabilidade e indexação de alto desempenho ao The Graph. Eles também resultam em novos casos de uso de dados; por exemplo, após construir o seu Subgraph movido a Substreams, você pode reutilizar os seus para usar diferentes, como PostgreSQL, MongoDB e Kafka.
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.
Desenvolvido pela , 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 para aprender mais sobre o 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?
A lhe ensinará como construir módulos do Substreams.
A lhe ensinará como empacotá-los para a publicação no The Graph.
The will allow you to bootstrap a Substreams project without any code.
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.
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.
(/cookbook/substreams-powered-subgraphs/) um Subgraph movido a Substreams, é possível usar o Graph CLI para publicá lo no .
Você pode visitar para encontrar exemplos de Substreams e subgraphs movidos a Substreams.
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.