Démarrage Rapide

Reading time: 5 min

This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio.

Assurez-vous que votre subgraph indexera les données d'un [réseau pris en charge] (/developing/supported-networks).

Ce guide est rédigé en supposant que vous possédez :

  • Un portefeuille crypto
  • Une adresse de smart contract sur le réseau de votre choix

1. Créez un subgraph sur Subgraph Studio

Lien vers cette section

Go to the Subgraph Studio 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."

2. Installez la CLI Graph

Lien vers cette section

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.

Sur votre machine locale, exécutez l'une des commandes suivantes :

Using npm:

npm install -g @graphprotocol/graph-cli@latest

Using yarn:

npm install -g @graphprotocol/graph-cli

3. Initialize your subgraph from existing contract

Lien vers cette section

Initialize your subgraph from an existing contract by running the initialize command:

graph init --studio <SUBGRAPH_SLUG>

You can find commands for your specific subgraph on the subgraph page in Subgraph Studio.

Lorsque vous initialisez votre subgraph, l'outil CLI vous demande les informations suivantes :

  • Protocole : choisissez le protocole à partir duquel votre subgraph indexera les données
  • Slug de subgraph : créez un nom pour votre subgraph. Votre slug de subgraph est un identifiant pour votre subgraph.
  • Répertoire dans lequel créer le subgraph : choisissez votre répertoire local
  • Réseau Ethereum (facultatif) : vous devrez peut-être spécifier à partir de quel réseau compatible EVM votre subgraph indexera les données
  • Adresse du contrat : localisez l'adresse du contrat intelligent à partir de laquelle vous souhaitez interroger les données
  • ABI : si l'ABI n'est pas renseigné automatiquement, vous devrez le saisir manuellement sous forme de fichier JSON
  • Bloc de démarrage : il est suggéré de saisir le bloc de démarrage pour gagner du temps pendant que votre subgraph indexe les données de la blockchain. Vous pouvez localiser le bloc de démarrage en recherchant le bloc dans lequel votre contrat a été déployé.
  • Nom du contrat : saisissez le nom de votre contrat
  • Indexer les événements de contrat en tant qu'entités : il est suggéré de définir cette valeur sur true car cela ajoutera automatiquement des mappages à votre subgraph pour chaque événement émis
  • Ajouter un autre contrat (facultatif) : vous pouvez ajouter un autre contrat

La capture d'écran suivante donne un exemple de ce qui vous attend lors de l'initialisation de votre subgraph :

Subgraph command

4. Write your subgraph

Lien vers cette section

Les commandes précédentes créent un subgraph d'échafaudage que vous pouvez utiliser comme point de départ pour construire votre propre subgraph. Lorsque vous apporterez des modifications au subgraph, vous travaillerez principalement avec trois fichiers :

  • 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 Creating a Subgraph.

5. Deploy to Subgraph Studio

Lien vers cette section

Une fois votre subgraph écrit, exécutez les commandes suivantes :

$ graph codegen
$ graph build
  • Authentifiez et déployez votre subgraph. La clé de déploiement se trouve sur la page du subgraph dans 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 semver for versioning like 0.0.1. That said, you are free to choose any string as version such as:v1, version1, asdf.

6. Testez votre subgraph

Lien vers cette section

In Subgraph Studio's playground environment, you can test your subgraph by making a sample query.

Les registres ou logs vous indiqueront s'il y a des erreurs avec votre subgraph. Les logs d'un subgraph opérationnel ressembleront à ceci :

Subgraph logs

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..."]) {
node
synced
health
fatalError {
message
block {
number
hash
}
handler
}
nonFatalErrors {
message
block {
number
hash
}
handler
}
chains {
network
chainHeadBlock {
number
}
earliestBlock {
number
}
latestBlock {
number
}
lastHealthyBlock {
number
}
}
entityCount
}
}

7. Publish your subgraph to The Graph’s Decentralized Network

Lien vers cette section

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 faster transaction speeds and lower gas costs.

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.

Pour économiser sur les coûts de gaz, vous pouvez organiser votre subgraph dans la même transaction que celle où vous l'avez publié en sélectionnant ce bouton lorsque vous publiez votre subgraph sur le réseau décentralisé de The Graph :

Subgraph publish

8. Query your subgraph

Lien vers cette section

Désormais, vous pouvez interroger votre subgraph en envoyant des requêtes GraphQL à l'URL de requête de votre subgraph, que vous pouvez trouver en cliquant sur le bouton de requête.

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 here.

Modifier une page

Précédente
Guide des outils de transfert L2
Suivante
Subgraphs
Modifier une page