Como Atualizar um Subgraph Existente à Graph Network
Reading time: 7 min
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.
- Ter um subgraph editado no serviço hospedado.
Se estiver logado no serviço hospedado, podes acessar um fluxo simples para atualizar os seus subgraphs do , ou de uma página de um subgraph individual.
Este processo não costuma levar mais que cinco minutos.
- Selecione o(s) subgraph(s) que queres atualizar.
- Conecte ou insira a carteira destinatária (a carteira que será a dona do subgraph).
- Clique no botão "Upgrade".
Pronto! Os seus subgraphs serão editados ao Subgraph Studio e publicados na Graph Network. É possível acessar o 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 .
Quando o seu subgraph for atualizado, será indexado automaticamente pelo indexador de atualização. Se a chain indexada for , 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.
É possível gerar uma chave API no Subgraph Studio .
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 para mais informações sobre planos e a gestão das suas cobranças no Subgraph Studio.
É ideal proteger a API com imposições de limite ao seu uso, em duas maneiras:
- Subgraphs Autorizados
- Domínio Autorizado
A sua chave API pode ser guardada .
Agora é possível verificar o estado dos Indexadores da rede no Graph Explorer (exemplo ). 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.
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 .
É 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.
- Faça mudanças no seu subgraph atual.
- 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>
- Teste a nova versão no Subgraph Studio com queries no playground
- Publique a nova versão na rede do The Graph. Não esqueça que isto exige gas (como descrito acima).
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: ).
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.
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 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.
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.
- Use um nome ENS para Desenvolvimento de Subgraph:
- Quanto mais preenchidos os seus perfis, maiores serão as oportunidades de indexar e curar os seus subgraphs.
Siga os passos para depreciar o seu subgraph e retirá-lo da The Graph Network.
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 .
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: