Começo Rápido
Reading time: 5 min
Este guia explicará rapidamente como inicializar, criar, e lançar o seu subgraph ao Subgraph Studio.
Garanta que o seu subgraph indexará dados de uma .
Este guia presume que tem:
- Uma carteira de criptomoedas
- Um endereço de contrato inteligente na rede da sua escolha
Entre no e conecte a sua carteira de criptomoedas.
Quando a sua carteira estiver conectada, clique em "Criar um Subgraph". Vale nomear o subgraph em Title Case: "Nome Do Subgraph Nome Da Chain."
A Graph CLI é escrita em TypeScript e precisa ter instalado o node
, e npm
ou yarn
para ser isada. Verifique se tem a versão mais recente da CLI instalada.
Execute um dos seguintes comandos na sua máquina local:
npm install -g @graphprotocol/graph-cli@latest
yarn global add @graphprotocol/graph-cli
Inicialize o seu subgraph a partir de um contrato existente ao executar o comando initialize:
graph init --studio <SUBGRAPH_SLUG>
Ao inicializar o seu subgraph, a ferramenta CLI pedirá pelas seguintes informações:
- Protocolo: Escolha o protocolo do qual o subgraph indexará dados
- Slug do subgraph: crie um nome para o seu subgraph. O slug serve como uma identidade para o seu subgraph.
- Diretório onde o subgraph será criado: escolha o seu diretório local
- Rede Ethereum (opcional): é possível que tenha de especificar a rede compatível com EVM de onde o seu subgraph indexará dados
- Endereço de contrato: Localize o endereço do contrato inteligente do qual quer consultar dados
- ABI: Se a ABI não estiver preenchida automaticamente, insira-a manualmente como um arquivo JSON
- Bloco Inicial: Insira o bloco inicial para poupar tempo enquanto o seu subgraph indexa dados da blockchain. O bloco inicial pode ser localizado ao encontrar o bloco onde o seu contrato foi lançado.
- Nome do Contrato: insira o nome do seu contrato
- Indexar eventos de contrato como entidades: é sugerido configurar isto como true, já que ele automaticamente adicionará mapeamentos ao seu subgraph para cada evento emitido
- Adicionar outro contrato (opcional): adicionar outro contrato
Veja a imagem a seguir para um exemplo do que esperar quando for inicializar o seu subgraph:
O comando interior cria um subgraph de altura que pode ser usado como ponto de partida para construir o seu subgraph. Enquanto faz mudanças ao subgraph, trabalhará principalmente com três arquivos:
- Manifest (
subgraph.yaml
) - O manifest define quais fontes de dados serão indexadas pelos seus subgraphs. - Schema (
schema.graphql
) - O schema GraphQL define quais dados deseja retirar do subgraph. - Mapeamentos em AssemblyScript (
mapping.ts
) — Este é o código que traduz dados das suas fontes de dados às entidades definidas no schema.
Para mais informações sobre como escrever o seu subgraph, veja .
Quando o seu subgraph estiver escrito, execute os seguintes comandos:
$ graph codegen$ graph build
- Autentique e lance o seu subgraph. A chave de lançamento (deploy key) pode ser encontrada na página "Subgraph" do Subgraph Studio.
$ graph auth --studio <DEPLOY_KEY>$ graph deploy --studio <SUBGRAPH_SLUG>
Há de inserir um rótulo de versão. É altamente recomendado usar o para números de versão, como 0.0.1
. Dito isto, dá para escolher qualquer string como versão, por exemplo: v1
, version1
, asdf
.
No ambiente de testes do Subgraph Studio, é possível testar o seu subgraph ao fazer uma query de exemplo.
Os logs dirão-lhe se há quaisquer erros com o seu subgraph. Os logs de um subgraph operacional parecerão com isto:
Se o seu subgraph continuar a falhar, faça um query sobre a saúde do subgraph com o GraphiQL Playground. Perceba que dá para usar o query abaixo e inserir sua ID de lançamento para seu subgraph. Neste caso, Qm...
é a ID de lançamento (na página Subgraph sob Detalhes). O texto abaixo te dirá quando um subgraph falha para que você possa fazer o debug de acordo:
{indexingStatuses(subgraphs: ["Qm..."]) {nodesyncedhealthfatalError {messageblock {numberhash}handler}nonFatalErrors {messageblock {numberhash}handler}chains {networkchainHeadBlock {number}earliestBlock {number}latestBlock {number}lastHealthyBlock {number}}entityCount}}
Quando o seu subgraph for lançado ao Subgraph Studio, estiver testado, e estiver pronto para produção, poderá então editá-lo na rede descentralizada.
No Subgraph Studio, será possível clicar no botão de editar no canto superior direito da página do seu subgraph.
Selecione a rede onde quer editar o seu subgraph. Vale editar subgraphs no Arbitrum One, para aproveitar as .
O (Indexador de atualização)[/sunrise/#about-the-upgrade-indexer] começará a servir queries no seu subgraph independente da curadoria dele, e fornecerá 100 mil queries grátis por mês.
Para uma qualidade maior de serviço e redundâncias mais fortes, é possível curar o seu subgraph para atrair mais Indexadores. Na hora da criação deste artigo, é recomendado curar o seu próprio subgraph com, no mínimo, 3.000 GRT para garantir que 3 a 5 Indexadores a mais comecem a servir queries no seu subgraph.
Para poupar custos de gas, cure o seu subgraph na mesma transação em que ele foi publicado, ao selecionar este botão quando publicar o seu subgraph na rede descentralizada do The Graph:
Agora, podes consultar o seu subgraph com o envio de queries GraphQL para o URL de Query do seu subgraph, que pode ser visto ao clicar no botão Query.
Se não tiver a sua chave API, é possível fazer queries via o URL de query de desenvolvimento com limite de ritmo, que pode ser usado para desenvolvimento e encenações.
Para mais informações sobre queries de dados do seu subgraph, leia mais .