Comienzo Rapido
Reading time: 5 min
This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio.
Ensure that your subgraph will be indexing data from a .
Esta guía está escrita asumiendo que tú tienes:
- Una wallet crypto
- Una dirección de un smart contract en la red de tu preferencia
Go to the and connect your wallet.
Once your wallet is connected, you can begin by clicking “Create a Subgraph." It is recommended to name the subgraph in Title Case: "Subgraph Name Chain Name."
The Graph CLI is written in TypeScript and you will need to have node
and either npm
or yarn
installed to use it. Check that you have the most recent CLI version installed.
En tu dispositivo, ejecuta alguno de los siguientes comandos:
npm install -g @graphprotocol/graph-cli@latest
yarn global add @graphprotocol/graph-cli
Initialize your subgraph from an existing contract by running the initialize command:
graph init --studio <SUBGRAPH_SLUG>
Cuando inicies tu subgrafo, la herramienta CLI te preguntará por la siguiente información:
- Protocol: elige el protocolo desde el cual tu subgrafo indexará datos
- Subgraph slug: crea un nombre para tu subgrafo. El slug de tu subgrafo es un identificador para el mismo.
- Directorio para crear el subgrafo: elige el directorio local de tu elección
- Red Ethereum (opcional): Es posible que debas especificar desde qué red compatible con EVM tu subgrafo indexará datos
- Dirección del contrato: Localiza la dirección del contrato inteligente del que deseas consultar los datos
- ABI: Si el ABI no se completa automáticamente, deberás ingresar los datos manualmente en formato JSON
- Start Block: se sugiere que ingreses el bloque de inicio para ahorrar tiempo mientras tu subgrafo indexa los datos de la blockchain. Puedes ubicar el bloque de inicio encontrando el bloque en el que se deployó tu contrato.
- Nombre del contrato: introduce el nombre de tu contrato
- Indexar eventos del contrato como entidades: se sugiere que lo establezcas en "verdadero" ya que automáticamente agregará mapeos a tu subgrafo para cada evento emitido
- Añade otro contrato(opcional): puedes añadir otro contrato
Ve la siguiente captura para un ejemplo de que debes de esperar cuando inicializes tu subgrafo:
Los comandos anteriores crean un subgrafo de andamio que puedes utilizar como punto de partida para construir tu subgrafo. Al realizar cambios en el subgrafo, trabajarás principalmente con tres archivos:
- Manifest (
subgraph.yaml
) - The manifest defines what datasources your subgraphs will index. - Schema (
schema.graphql
) - The GraphQL schema defines what data you wish to retrieve from the subgraph. - AssemblyScript Mappings (
mapping.ts
) - This is the code that translates data from your datasources to the entities defined in the schema.
For more information on how to write your subgraph, see .
Una vez escrito tu subgrafo, ejecuta los siguientes comandos:
$ graph codegen$ graph build
- Autentica y deploya tu subgrafo. La clave para deployar se puede encontrar en la página de Subgraph en Subgraph Studio.
$ graph auth --studio <DEPLOY_KEY>$ graph deploy --studio <SUBGRAPH_SLUG>
You will be asked for a version label. It's strongly recommended to use for versioning like 0.0.1
. That said, you are free to choose any string as version such as:v1
, version1
, asdf
.
In Subgraph Studio's playground environment, you can test your subgraph by making a sample query.
Los registros te indicarán si hay algún error con tu subgrafo. Los registros de un subgrafo operativo se verán así:
If your subgraph is failing, you can query the subgraph health by using the GraphiQL Playground. Note that you can leverage the query below and input your deployment ID for your subgraph. In this case, Qm...
is the deployment ID (which can be located on the Subgraph page under Details). The query below will tell you when a subgraph fails, so you can debug accordingly:
{indexingStatuses(subgraphs: ["Qm..."]) {nodesyncedhealthfatalError {messageblock {numberhash}handler}nonFatalErrors {messageblock {numberhash}handler}chains {networkchainHeadBlock {number}earliestBlock {number}latestBlock {number}lastHealthyBlock {number}}entityCount}}
Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network.
In Subgraph Studio, you will be able to click the publish button on the top right of your subgraph's page.
Select the network you would like to publish your subgraph to. It is recommended to publish subgraphs to Arbitrum One to take advantage of the .
The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and it will provide you with 100,000 free queries per month.
For a higher quality of service and stronger redundancy, you can curate your subgraph to attract more Indexers. At the time of writing, it is recommended that you curate your own subgraph with at least 3,000 GRT to ensure 3-5 additional Indexers begin serving queries on your subgraph.
Para ahorrar en costos de gas, puedes curar tu subgrafo en la misma transacción en la que lo publicas seleccionando este botón al publicar tu subgrafo en la red descentralizada de The Graph:
Ahora puedes hacer consultas a tu subgrafo enviando consultas GraphQL a la URL de consulta de tu subgrafo, que puedes encontrar haciendo clic en el botón de consulta.
If you don't have your API key, you can query via the free, rate-limited development query URL, which can be used for development and staging.
For more information about querying data from your subgraph, read more .