O que é um subgraph? (Guia)
Escrito por Logan Ross
Subgraphs agregam dados de blockchain específicos de aplicações para acesso rápido por desenvolvedores full-stack.
Blockchains registram dados cronologicamente e sem levar em conta aplicações específicas. Historicamente, quando um desenvolvedor queria exibir informações relevantes para seus smart contracts, era obrigado a buscá-las bloco por bloco, transação por transação, usando JSON-RPC.
Subgraphs oferecem aos desenvolvedores um método simples para acessar dados onchain em tempo real, e permitem que eles criem interações de app úteis para seus usuários.
Este artigo explora subgraphs, incluindo sua funcionalidade, aplicações comuns, vantagens, provedores disponíveis e recursos para ajudar desenvolvedores a começar a usá-los.
O que é um Subgraph?
Subgraphs agregam dados de blockchain específicos de aplicações para acesso rápido por desenvolvedores frontend.
Subgraphs são expostos aos desenvolvedores por meio de APIs GraphQL, permitindo que os usuários consultem os dados de transação que ocorrem em seu contrato em tempo real. Subgraphs são especialmente úteis para desenvolvedores de smart contracts complexos e personalizados que precisam de interfaces frontend robustas.
Por exemplo, para consultar todas as transações dentro de um único pool de liquidez Uniswap v3 nas últimas 24 horas, a Uniswap simplesmente precisa definir seu schema, indexar os dados de eventos para criar o subgraph e, então, usar a API GraphQL gerada para consultar seu subgraph, obtendo dados de blockchain de forma flexível e eficiente.
Subgraphs permitem que desenvolvedores filtrem e ordenem dados de acordo com suas necessidades, extraindo apenas as informações importantes para seu dapp. Subgraphs também permitem consultas de dados mais eficientes, pré-compilando e indexando dados para acelerar o processo de consulta, em vez de solicitar dados diretamente de full nodes ou archive nodes.
Como funciona um Subgraph?
"Mappings" de Subgraph são scripts que orientam os nodes a extrair dados relevantes de cada novo bloco descoberto, de acordo com o "manifest" do subgraph. Esses novos dados são então adicionados ao subgraph e disponibilizados aos desenvolvedores por meio de uma chamada GraphQL, conforme definido pelo "schema" do Subgraph.
Para começar, precisamos compreender a estrutura fundamental de um subgraph, seus componentes e como eles interagem entre si.
O que é o manifest de um Subgraph?
Um manifest contém informações sobre fontes de dados, templates e alguns metadados do subgraph (por exemplo, descrição, repositório, etc.). O manifest define os smart contracts indexados por um subgraph, os eventos relevantes nos smart contracts e como transferir os dados de evento para entidades armazenadas e consultáveis pelo Graph node.
O que é um schema de Subgraph?
Um schema explica como os dados de um subgraph estão organizados e como consultá-los usando GraphQL. O schema deve definir entidades e a estrutura de dados de cada entidade.
Por exemplo, se você está criando um subgraph para análises em tempo real de pools da Uniswap v3, sua entidade pode ser um pool, e o schema definiria os ativos do pool, nome, endereço do smart contract, taxas, etc.
O que é um mapping de Subgraph?
Mappings são código AssemblyScript chamado sempre que o servidor encontra um evento especificado no manifest. Mappings definem event handlers responsáveis por transformar os dados vindos do evento ou chamada e salvá-los no armazenamento do Graph node.
Quais são os casos de uso populares para Subgraphs?
Subgraphs são frequentemente usados para DeFi, NFT, DAOs e diversas outras aplicações onchain.
Indexação de smart contracts personalizados
Desenvolvedores de aplicações blockchain que querem indexar dados para seus smart contracts personalizados (especialmente aqueles que não seguem um padrão como NFTs ERC1155 ou ERC721) são criadores frequentes de subgraphs. A indexação personalizada também é particularmente importante para desenvolvedores construindo interfaces de usuário frontend com recursos como busca e filtragem.
Finanças descentralizadas (DeFi)
Subgraphs de DeFi são comumente usados em aplicações para indexar e consultar dados de blockchain como preços de tokens, taxas de câmbio, liquidez e volume de negociação. Apps DeFi que usam subgraphs podem dar aos usuários acesso em tempo real a dados atualizados e viabilizar negociações e outras operações financeiras eficientes.
Tokens não fungíveis (NFTs)
Subgraphs de NFT podem ser usados para indexar e consultar dados de NFT como propriedade, procedência e histórico de transações junto com dados off-chain. Isso pode ajudar marketplaces de NFT e outros apps a oferecer uma experiência mais fluida para usuários que estão comprando, vendendo e negociando NFTs.
Organizações autônomas descentralizadas (DAOs)
Em contraste com autoridades centralizadas, as Organizações Autônomas Descentralizadas, ou DAOs, são organizações administradas por comunidades distribuídas. Como a maior parte das decisões de uma DAO acontece onchain, subgraphs de DAO são essenciais para permitir que os membros votem e examinem dados adequadamente.
Games
Acesso em tempo real a dados como saldos de contas de usuários, estado do jogo e objetos dentro do jogo é frequentemente necessário em jogos baseados em blockchain. Esses dados podem ser indexados e consultados via subgraphs, permitindo uma jogabilidade e outros recursos mais eficientes e responsivos.
Quais são os benefícios de construir com Subgraphs?
Subgraphs são um paradigma bem simples de indexação de dados de blockchain que desenvolvedores full-stack podem usar. Escreva um pouco de AssemblyScript e está pronto! Para soluções hospedadas, já vem com um backend, então os desenvolvedores não precisam rodar um banco de dados e servidores.
Aqui estão outros benefícios de construir com subgraphs: simplicidade, compatibilidade e resiliência.
1. Simplicidade do Subgraph
Subgraphs são bancos de dados de dados específicos de aplicações disponíveis para consulta. Usar subgraphs hospedados como backend de dados economiza tempo e overhead dos desenvolvedores, que não precisam criar seu próprio banco de dados.
Subgraphs são definidos e acessados com AssemblyScript e GraphQL, respectivamente. Esses são paradigmas tipicamente familiares para desenvolvedores full stack, tornando os subgraphs acessíveis para novos desenvolvedores web3.
2. Compatibilidade com múltiplas blockchains
Subgraphs têm a vantagem de funcionar com as inúmeras redes blockchain compatíveis com EVM, permitindo que os desenvolvedores obtenham dados de várias fontes. Como resultado, dapps podem ser projetados para rodar em diversas redes blockchain, aumentando a flexibilidade e a escalabilidade.
Embora cada subgraph extraia dados de apenas uma chain, os desenvolvedores podem usar schemas e mappings semelhantes para implantar subgraphs em diferentes redes blockchain suportadas com esforço mínimo de engenharia. Consultas de subgraph também podem ser cross-chain via graph-cli ou por meio de provedores que suportam esse recurso.
3. Maior segurança e resiliência
Usar um protocolo de indexação descentralizado para consultar subgraphs permite que os desenvolvedores optem por manter a descentralização de toda a stack de suas aplicações. Embora existam tradeoffs de desempenho entre usar uma versão descentralizada e uma versão hospedada do subgraph, ter opções permite que os desenvolvedores otimizem para seus casos de uso específicos.
Com um indexador descentralizado, uma aplicação pode reduzir sua dependência de uma única fonte de dados executando vários subgraphs de diversos provedores, tornando-a menos vulnerável a ataques ou indisponibilidade de uma única fonte. Esses serviços são fornecidos pelo protocolo The Graph.
Subgraphs também podem ser criados para filtrar dados potencialmente maliciosos, adicionando uma camada extra de proteção à aplicação. A infraestrutura de dados de uma aplicação pode se tornar mais segura e resiliente ao operar vários subgraphs.
Quais são os tradeoffs de construir apps com Subgraphs?
Embora subgraphs existentes sejam simples de usar, pode ser complexo criá-los e depurá-los, e eles podem ser proibitivos em termos de custo ou design
1. Desenvolvimento e depuração de Subgraphs
Para usar subgraphs de forma eficaz, os desenvolvedores precisam aprender um ecossistema complexo e lidar com dificuldades de depuração de subgraphs devido à falta de ferramentas e visibilidade. Outro desafio de construir com subgraphs é que os mappings são transpilados para web assembly, o que dificulta ainda mais a depuração dos subgraphs!
2. Limitações de personalização
Embora os subgraphs ofereçam bastante flexibilidade em relação a quais dados são indexados e como podem ser consultados, a personalização pode ser limitada. Se um dapp tem necessidades de indexação ou consulta muito rígidas, pode ser necessária uma solução totalmente personalizada de indexação e transformação de dados.
3. Custo
Custo é um fator decisivo importante para desenvolvedores de aplicações encarregados de escolher novas soluções tecnológicas. Embora o uso de subgraphs possa tornar mais fácil e rápida a consulta de dados de blockchain em comparação com JSON-RPC, isso tem custos adicionais, incluindo o pagamento por serviços de indexação e consulta, que podem se acumular ao longo do tempo.
4. Velocidade de indexação
Desenvolvedores de aplicações com muitos dados frequentemente citam a velocidade de indexação como um dos desafios de usar subgraphs. As velocidades de indexação podem variar não só com a quantidade e complexidade dos dados, mas também com a solução de indexação usada.
Quem são os melhores provedores de Subgraph?
Entre os provedores mais proeminentes do espaço estão The Graph, Goldsky e ChainStack.
The Graph
The Graph permite que os desenvolvedores produzam e consultem subconjuntos de dados de blockchain de forma escalável e econômica.
Provedores de subgraph podem utilizar as ferramentas e a infraestrutura do The Graph para criar, implantar e manter subgraphs, que os desenvolvedores podem consultar facilmente usando a API GraphQL do The Graph. O serviço de subgraph no The Graph foi projetado para ser flexível e configurável, permitindo que os desenvolvedores indexem e consultem dados de qualquer blockchain ou fonte de dados.
Há três formas principais de implantar subgraphs no The Graph:
- Self-hosted
- The Graph Hosted Service
- Subgraph Studio
1. Self-hosted
Os desenvolvedores podem hospedar eles mesmos os diferentes componentes que compõem o ecossistema de subgraph (a base de código `graph-node`) e implantar seus subgraphs nesse sistema auto-hospedado.
2. Hosted Service do The Graph
Se os desenvolvedores não quiserem rodar sua própria infraestrutura, podem implantar seus subgraphs no The Graph Hosted Service gratuitamente. Essa é uma ótima opção para equipes novas e pequenas porque é fácil, e a baixa confiabilidade e as velocidades lentas são toleráveis. No entanto, o hosted service do The Graph está atualmente sendo descontinuado.
3. Subgraph Studio
Os desenvolvedores podem implantar seus subgraphs na rede descentralizada do The Graph por meio do produto Subgraph Studio, que envolve o token do The Graph. No entanto, esse método de implantação não suporta todos os recursos da solução hospedada (por exemplo, não há funcionalidade IPFS e menos chains são suportadas).
Goldsky
Goldsky permite que engenheiros criem streams de dados em tempo real para seus apps, eliminando a necessidade de gerenciar infraestrutura sofisticada de blockchain e streaming de dados. O Goldsky pode indexar uma blockchain ou subgraph, converter os dados conforme suas necessidades e transmitir os resultados em tempo real para um data warehouse, webhooks ou uma API.
Chainstack
Chainstack Subgraphs é uma solução super rápida, de nível de produção, para implantar seus subgraphs, que você pode usar sem a complicação de staking, delegação e/ou recompensas de indexação de subgraph. Você pode contar com a Chainstack para indexação rápida e disponibilidade constante de dados.
Recursos de desenvolvimento de Subgraph
A lista a seguir contém vários recursos úteis para desenvolvedores que estão começando a construir com subgraphs:
1. Documentação do The Graph
A documentação do The Graph é um recurso abrangente que oferece aos desenvolvedores todo o conhecimento necessário para começar a construir subgraphs para dapps. Ela fornece instruções abrangentes, tutoriais e materiais de referência cobrindo desde a criação de um ambiente de desenvolvimento até a implantação e consulta de subgraphs.
2. Exemplos de Subgraphs
O repositório oficial do The Graph no Github contém exemplos de implementações de subgraph para indexar e consultar dados de redes blockchain, incluindo Ethereum, Polygon, IPFS e mais. Ele fornece um template simples de subgraph e código de exemplo que pode ser personalizado para atender às necessidades de um dapp específico.
3. Subgraphs padrão da Messari
O repositório de subgraphs da Messari oferece aos desenvolvedores uma variedade de subgraphs pré-construídos para analisar dados de redes blockchain proeminentes como Ethereum e BNB Chain. Ele fornece uma série de recursos, como dados históricos de preços, métricas onchain e mais, tornando-se um recurso valioso para desenvolvedores que buscam aproveitar subgraphs.
Devo usar Subgraphs?
Se você tem um ou mais smart contracts personalizados que deseja monitorar, construir um subgraph pode ser uma ótima solução para você.
Subgraphs agregam dados de blockchain específicos de aplicações para acesso rápido por desenvolvedores front end.
Visões gerais relacionadas
Infra2 de setembro de 2026
Arquiteturas de agentes de IA onchain: cinco padrões de build
Cinco padrões de build para agentes de IA onchain, cada um com um exemplo prático: wallet watchers, reactors orientados a eventos, portfolio rebalancers, splits multi-agente detect-then-execute e testes seguros pre-mainnet.
Infra21 de agosto de 2026
Ações tokenizadas explicadas para desenvolvedores: como funcionam xStocks, Dinari e Robinhood Chain
Ações tokenizadas explicadas para desenvolvedores: o que dá lastro a xStocks, Dinari dShares e aos tokens de ações da Robinhood, como cada um funciona onchain, e o que observar.
Infra20 de agosto de 2026
Como agentes de codificação de IA escolhem infraestrutura blockchain
Agentes de codificação de IA escolhem o provedor de RPC no código que escrevem. Como Cursor, Replit e Claude Code escolhem infraestrutura blockchain, e como direcioná-los.

Construa magia blockchain
A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.