Programação
Reading time: 4 min
Os programadores representam o lado de demanda do ecossistema do The Graph, constroem subgraphs e os editam à Graph Network. Então, eles consultam subgraphs ao vivo com queries no GraphQL, para abastecer os seus aplicativos.
Os subgraphs lançados à rede têm um ciclo de vida definido.
Assim como toda programação de subgraph, ela começa com desenvolvimento e testes locais. Os programadores podem usar o mesmo setup local para construir o seu subgraph — seja ao construir para a Graph Network, o serviço hospedado, ou um Graph Node local, com graph-cli
e o graph-ts
. Vale usar ferramentas como o para testes de unidades, para deixar os subgraphs mais robustos.
Há alguns limites de apoio a recursos e redes na Graph Network. Só subgraphs em ganharão recompensas de indexação, e subgraphs que retiram dados do IPFS também não têm direito a estas.
Uma vez definido, o subgraph pode ser construído e lançado ao . Este é um ambiente sandbox que indexará o subgraph lançado, e o disponibilizará para programação e testes (com rate limit). Com isto, os programadores têm a oportunidade de verificar que o seu subgraph funciona como esperado, sem qualquer erro na indexação.
Quando o programador estiver satisfeito com o seu subgraph, pode editá-lo na Graph Network. Esta é uma ação on-chain, que registra o subgraph para que ele seja descoberto por Indexadores. Os subgraphs publicados têm NFTs correspondente, que são então facilmente transferíveis. Um subgraph editado tem metadados associados, que fornecem contexto e informações úteis a outros participantes da rede.
Subgraphs editados têm poucas chances de ser detectados por Indexadores sem a adição do sinal — um montante de GRT trancado associado a um subgraph, que indica aos Indexadores que um certo subgraph receberá volume de queries e também contribui às recompensas de indexação disponíveis por processá-los. Os programadores de subgraph geralmente adicionam o sinal ao próprio subgraph, para incentivar indexações. Curadores terceiros também podem sinalizar em um certo subgraph, se acharem que tem altas chances de movimentar o volume de queries.
Quando um subgraph for processado pelos Indexadores e aberto a queries, os programadores podem começar a usar o subgraph nos seus aplicativos. Os programadores consultam subgraphs através de um gateway, que encaminha as suas consultas a um Indexador que processou o subgraph com uma taxa de query em GRT.
Para poder fazer queries, os programadores devem gerar uma chave de API no Subgraph Studio. Esta chave deve ser bancada com GRT, para pagar taxas de query. Dá para configurar uma taxa máxima de query, para controlar os seus custos e limitar a sua chave de API a um único subgraph ou domínio de origem. O Subgraph Studio fornece dados aos programadores sobre o seu uso temporal de chaves de API.
Os programadores também podem expressar uma preferência de Indexador ao gateway, por exemplo, ao preferir Indexadores com resposta de query mais rápida, ou cujos dados são mais atualizados. Estes controlos são programados no Subgraph Studio.
Após um tempo, um programador de subgraphs pode querer atualizar o seu subgraph, talvez para consertar um erro ou adicionar funcionalidades. O programador pode lançar uma(s) nova(s) versão (versões) do seu subgraph ao Subgraph Studio, para fins de programação e testes com rate limit.
Quando o Programador de Subgraph estiver pronto, ele pode iniciar uma transação para apontar seu subgraph à nova versão. Atualizar o subgraph migra qualquer sinal à versão nova (presumindo que o utilizador que aplicou o sinal selecionou "migrar automaticamente"), o que também incorre uma taxa de migração. Este sinal de migração deve incentivar os Indexadores a começar a indexar a nova versão do subgraph, para que ele logo fique aberto a queries.
Em algum ponto, pode um programador decidir que ele não precisa mais de um subgraph editado. Naquele ponto, ele pode depreciar o subgraph, o que devolve qualquer GRT sinalizado aos Curadores.
Alguns programadores engajarão com o ciclo de vida completo do subgraph na rede, com edição, queries, e iterações em seus próprios subgraphs. Alguns podem focar em programação de subgraphs, a construir APIs abertas que outros podem elaborar. Alguns podem focar em aplicativos, a consultar subgraphs lançados por outros.
Programadores são agentes económicos importantes na rede, que trancam GRT para incentivar a indexação e fazem queries cruciais em subgraphs — a principal troca de valor da rede. Os programadores de subgraphs também queimam GRT quando um subgraph é atualizado.