Cookbook > Como Atualizar um Subgraph Existente à Graph Network

Como Atualizar um Subgraph Existente à Graph Network

Reading time: 7 min

Introdução

Link para esta seção

Este guia ensina como atualizar o seu subgraph do serviço hospedado à rede descentralizada do The Graph. Mais de mil subgraphs foram atualizados à Graph Network com êxito, incluindo projetos como Snapshot, Loopring, Audius, Premia, Livepeer, Uma, Curve, Lido e muito mais!

O processo é rápido, e os seus subgraphs só tem a ganhar com a confiabilidade e o desempenho da rede da The Graph Network.

Pré-requisitos

Link para esta seção
  • Ter um subgraph editado no serviço hospedado.

Como Atualizar um Subgraph Existente à Graph Network

Link para esta seção

Se estiver logado no serviço hospedado, podes acessar um fluxo simples para atualizar os seus subgraphs do seu painel, ou de uma página de um subgraph individual.

Este processo não costuma levar mais que cinco minutos.

  1. Selecione o(s) subgraph(s) que queres atualizar.
  2. Conecte ou insira a carteira destinatária (a carteira que será a dona do subgraph).
  3. Clique no botão "Upgrade".

Pronto! Os seus subgraphs serão editados ao Subgraph Studio e publicados na Graph Network. É possível acessar o Subgraph Studio para gerir os seus subgraphs após fazer login com a carteira especificada durante o processo de atualização.

Poderá ver os seus subgraphs ao vivo na rede descentralizada via Graph Explorer.

Quando o seu subgraph for atualizado, será indexado automaticamente pelo indexador de atualização. Se a chain indexada for totalmente apoiada pela Graph Network, podes adicionar um pouco de GRT como "sinal" para atrair mais Indexadores. Recomendamos curar o seu subgraph com no mínimo 3000 GRT para atrair 2 ou 3 Indexadores, para uma qualidade maior de serviço.

Podes começar a consultar o seu subgraph imediatamente na Graph Network após gerar uma chave API.

Como criar uma chave API

Link para esta seção

É possível gerar uma chave API no Subgraph Studio aqui.

Página de criação de chave API

Podes usar esta chave API para consultar subgraphs em queries na Graph Network. Todos os utilizadores começam no Plano Grátis, que inclui 100 mil queries grátis por mês. Programadores podem assinar o Plano de Crescimento ao conectar um cartão de crédito ou débito, ou depositar GRT, ao sistema de cobranças do Subgraph Studio.

Nota: confira a documentação das cobranças para mais informações sobre planos e a gestão das suas cobranças no Subgraph Studio.

Como proteger a sua chave API

Link para esta seção

É ideal proteger a API com imposições de limite ao seu uso, em duas maneiras:

  1. Subgraphs Autorizados
  2. Domínio Autorizado

A sua chave API pode ser guardada aqui.

Página de trancamento de subgraphs

Como consultar o seu subgraph na rede descentralizada

Link para esta seção

Agora é possível verificar o estado dos Indexadores da rede no Graph Explorer (exemplo aqui). A linha verde no topo indica que na hora da postagem, 7 Indexadores indexaram aquele subgraph com sucesso. Na aba do Indexador, dá para ver quais Indexadores captaram seu subgraph.

Subgraph do Rocket Pool

Assim que o primeiro Indexer tiver indexado o seu subgraph por completo, pode começar a consultar o subgraph na rede descentralizada. O URL de consulta para o seu subgraph pode ser copiado e colado com um clique no símbolo próximo ao URL de consulta. Aparecerá algo assim:

https://gateway.thegraph.com/api/[api-key]/subgraphs/id/S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo

Importante: Substitua o [api-key] com uma chave API verídica, gerada na seção acima.

Agora, pode usar aquele URL de Consulta no seu dapp para enviar os seus pedidos no GraphQL.

Parabéns! Viraste um pioneiro da descentralização!

Nota: Devido à natureza distribuída da rede, pode ser que Indexadores diferentes tenham indexado até blocos diferentes. Para receber apenas dados recentes, especifique o bloco mínimo que um indexador deve indexar para servir seu query com o argumento block: { number_gte: $minBlock } como no exemplo abaixo:

{
stakers(block: { number_gte: 14486109 }) {
id
}
}

Veja mais informações sobre a rede, e como lidar com reorganizações, no artigo da documentação Sistemas Distribuídos.

Como Atualizar um Subgraph na Rede

Link para esta seção

É possível atualizar um subgraph já existente na rede ao lançar uma nova versão do seu subgraph ao Subgraph Studio, através do Graph CLI.

  1. Faça mudanças no seu subgraph atual.
  2. Lance o seguinte e especifique a nova versão no comando (por ex. v0.0.1, v0.0.2, etc.):
graph deploy --studio --version <version> <SUBGRAPH_SLUG>
  1. Teste a nova versão no Subgraph Studio com queries no playground
  2. Publique a nova versão na rede do The Graph. Não esqueça que isto exige gas (como descrito acima).

Sobre as Taxas de Upgrade para o Dono

Link para esta seção

Nota: A curadoria no Arbitrum tem uma bonding curve fixa. Aprenda mais sobre o Arbitrum aqui.

Upgrades exigem GRT para migrar da versão antiga do subgraph à versão nova. Portanto, a cada atualização, será criada uma bonding curve (curva de união; mais sobre bonding curves aqui: here).

A nova bonding curve cobra a taxa de curação de 1% sobre todo GRT a ser migrado à nova versão. O titular deve pagar 50% disto, ou 1,25%. Os outros 1,25% são absorvidos por todos os curadores como um tributo. Este incentivo existe para que o dono de um subgraph não possa esvaziar os fundos dos curadores com chamadas recursivas de atualização. Se não houver atividade de curação, é necessário pagar no mínimo 100 GRT para sinalizar seu próprio subgraph.

Vamos fazer um exemplo. Isto só acontece se o seu subgraph for curado ativamente:

  • São sinalizados 100.000 GRT com a função de migração automática na v1 de um subgraph
  • O dono atualiza à v2. São migrados 100.000 GRT a uma nova bonding curve, sendo que 97,500 GRT entram na curva nova e 2.500 são queimados
  • O dono então queima 1.250 GRT para pagar por metade da taxa. O dono deve ter isto na sua carteira antes da atualização; caso contrário, o upgrade falhará. Isto acontece na mesma transação do upgrade.

Enquanto este mecanismo permanece ao vivo na rede, a comunidade atualmente discute maneiras de reduzir o custo de atualizações para programadores de subgraphs.

Como Conservar uma Versão Estável de Subgraph

Link para esta seção

Se for fazer muitas mudanças ao seu subgraph, não é bom atualizá-lo constantemente e afrontar os custos da atualização. É importante conservar uma versão estável e consistente do seu subgraph; não só pelo custo, mas também para que os Indexadores tenham confiança em seus tempos de sincronização. Os Indexadores devem ser avisados dos seus planos de atualização, para que os tempos de sincronização dos Indexadores não sejam afetados. Use à vontade o canal dos #Indexers no Discord para avisar aos Indexadores quando for mudar a versão dos seus subgraphs.

Subgraphs são APIs abertas usadas por programadores externos. As APIs abertas devem seguir padrões estritos para não quebrarem os aplicativos de programadores externos. Na The Graph Network (rede do The Graph), um programador de Subgraph deve considerar os Indexadores e o tempo que levam para sincronizar um novo subgraph, assim como outros desenvolvedores a usarem seus subgraphs.

Como Atualizar os Metadados de um Subgraph

Link para esta seção

Os metadados dos seus subgraphs podem ser atualizados sem precisar editar uma versão nova. Os metadados incluem o nome do subgraph, a imagem, a descrição, o URL do site, o URL do código fonte, e categorias. Os programadores podem fazer isto com uma atualização dos detalhes de seus subgraphs no Subgraph Studio, onde todos os campos aplicáveis podem ser editados.

Marque a opção **Update Subgraph Details in Explorer* (Atualizar Detalhes do Subgraph no Explorador) e clique em **Save** (Salvar). Se marcada, será gerada uma transação on-chain que atualiza detalhes do subgraph no Explorer, sem precisar publicar uma nova versão com um novo lançamento.

As Melhores Práticas para Lançar um Subgraph à Graph Network

Link para esta seção
  1. Use um nome ENS para Desenvolvimento de Subgraph:
  • Prepare o seu ENS aqui
  • Adicione o seu nome ENS às suas configurações aqui.
  1. Quanto mais preenchidos os seus perfis, maiores serão as oportunidades de indexar e curar os seus subgraphs.

Como Depreciar um Subgraph na The Graph Network

Link para esta seção

Siga os passos aqui para depreciar o seu subgraph e retirá-lo da The Graph Network.

Queries em um Subgraph + Cobrança na The Graph Network

Link para esta seção

O Serviço Hospedado foi preparado para que os programadores lancem os seus subgraphs sem qualquer restrição.

Na Graph Network, é necessário pagar taxas de query como uma parte essencial dos incentivos do protocolo. Para saber mais sobre subscrições em APIs e pagamentos de taxas de query, confira a documentação das cobranças aqui.

Outros Recursos

Link para esta seção

Se ainda tem dúvidas, não tem problema! Confira os seguintes recursos ou assista o nosso guia em vídeo sobre atualizar e migrar subgraphs à rede descentralizada abaixo:

Editar página

Anterior
Categorize NFT Marketplaces Using Enums
Próximo
Como Proteger Chaves de API com Componentes do Servidor Next.js
Editar página