Docs
La Recherche⌘ K
  • Accueil
  • À propos de The Graph
  • Réseaux pris en charge
  • Contrats du Protocole
  • Subgraphs
    • Substreams
      • Token API
        • AI Suite
          • Indexing
            • Resources
              Subgraphs > Developing > Creating

              4 minutes

              Installation du Graph CLI

              Afin d’utiliser votre subgraph sur le réseau décentralisé de The Graph, vous devrez créer une clé API dans Subgraph Studio. Il est recommandé d’ajouter un signal à votre subgraph avec au moins 3 000 GRT pour attirer 2 ou 3 Indexeurs. Pour en savoir plus sur la signalisation, consultez Curation.

              Aperçu

              Le Graph CLI⁠ est une interface de ligne de commande qui facilite les commandes des développeurs pour The Graph. Elle traite un Subgraph manifest et compile les mappages pour créer les fichiers dont vous aurez besoin pour déployer le subgraph dans Subgraph Studio et sur le réseau.

              Introduction

              Installation du Graph CLI

              L’interface de ligne de commande Graph est écrite en TypeScript et vous devez avoir installé node et soit npm soit yarn pour l’utiliser. Recherchez la version la plus récente⁠ de l’interface de ligne de commande.

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

              En utilisant npm⁠

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

              En utilisant yarn⁠

              1yarn global add @graphprotocol/graph-cli

              La commande graph init peut être utilisée pour mettre en place un nouveau projet Subgraph, soit à partir d’un contrat existant, soit à partir d’un exemple de Subgraph. Si vous avez déjà un contrat intelligent déployé sur votre réseau préféré, vous pouvez démarrer un nouveau Subgraph à partir de ce contrat pour commencer.

              Créer un subgraph

              À partir d’un contrat existant

              La commande suivante crée un Subgraph qui indexe tous les événements d’un contrat existant :

              1graph init \2  --product subgraph-studio3  --from-contract <ADRESSE_DU_CONTRAT> \4  [--network <RESEAU_ETHEREUM>] \5  [--abi <FICHIER>] \6  <SUBGRAPH_SLUG> [<REPERTOIRE>]
              • La commande tente de récupérer l’ABI du contrat depuis Etherscan.

                • Graph CLI repose sur un endpoint RPC public. Bien que des échecs occasionnels soient attendus, les réessais résolvent généralement ce problème. Si les échecs persistent, envisagez d’utiliser un ABI local.
              • Si certains arguments optionnels manquent, il vous guide à travers un formulaire interactif.

              • Le <SUBGRAPH_SLUG> est l’identifiant de votre Subgraph dans Subgraph Studio. Il se trouve sur la page de détails de votre Subgraph.

              À partir d’un exemple de subgraph

              La commande suivante permet d’initialiser un nouveau projet à partir d’un exemple de Subgraph :

              1graph init <SUBGRAPH_SLUG> --from-example=example-subgraph
              • Le Subgraph d’exemple⁠ est basé sur le contrat Gravity de Dani Grant, qui gère les avatars des utilisateurs et émet des événements NewGravatar ou UpdateGravatar à chaque fois que des avatars sont créés ou mis à jour.

              • Le Subgraph gère ces événements en écrivant des entités Gravatar dans le store de Graph Node et en veillant à ce qu’elles soient mises à jour en fonction des événements.

              Ajouter de nouvelles sources de données à un subgraph existant

              Les sources de données sont des composants clés des subgraphs. Ils définissent les sources de données que le subgraph indexe et traite. Une dataSource spécifie quel contrat intelligent écouter, quels événements traiter et comment les traiter.

              Les versions récentes de Graph CLI permettent d’ajouter de nouvelles dataSources à un Subgraph existant grâce à la commande graph add :

              1graph add <address> [<subgraph-manifest default: "./subgraph.yaml">]23Options:45      --abi <path>              Chemin d'accès à l'ABI du contrat (par défaut : téléchargement à partir d'Etherscan)6      --contract-name           Nom du contrat (par défaut : Contrat)7      --merge-entities          Fusionner ou non les entités portant le même nom (par défaut : false)8      --network-file <path>     Chemin du fichier de configuration du réseau (par défaut: "./networks.json")

              Spécificités⁠

              La commande graph add récupère l’ABI depuis Etherscan (à moins qu’un chemin ABI ne soit spécifié avec l’option --abi) et crée une nouvelle dataSource, de la même manière que la commande graph init crée une dataSource --from-contract, en mettant à jour le schéma et les mappages en conséquence. Cela vous permet d’indexer les contrats d’implémentation à partir de leurs contrats proxy.

              • L’option --merge-entities identifie comment le développeur souhaite gérer les conflits de noms entre entity et event :

                • Si true : la nouvelle dataSource doit utiliser les eventHandlers et entities existants.

                • Si false : un nouveau gestionnaire entity & event doit être créé avec ${dataSourceName}{EventName}.

              • L’adresse du contrat sera écrite dans le fichier networks.json pour le réseau concerné.

              Note : Lorsque vous utilisez la CLI interactive, après avoir exécuté graph init avec succès, vous serez invité à ajouter une nouvelle dataSource.

              Récupération des ABIs

              Le(s) fichier(s) ABI doivent correspondre à votre(vos) contrat(s). Il existe plusieurs façons d’obtenir des fichiers ABI :

              • Si vous construisez votre propre projet, vous aurez probablement accès à vos ABI les plus récents.
              • Si vous construisez un Subgraph pour un projet public, vous pouvez télécharger ce projet sur votre ordinateur et obtenir l’ABI en utilisant [npx hardhat compile] (https://hardhat.org/hardhat-runner/docs/guides/compile-contracts#compiling-your-contracts⁠) ou en utilisant solc pour compiler.
              • Vous pouvez également trouver l’ABI sur [Etherscan] (https://etherscan.io/⁠), mais ce n’est pas toujours fiable, car l’ABI qui y est téléchargé peut être obsolète. Assurez-vous d’avoir le bon ABI, sinon l’exécution de votre Subgraph échouera.
              ⁠Edit on GitHub⁠

              Démarrer votre subgraphManifeste de Subgraph
              On this page
              • Aperçu
              • Introduction
              • Installation du Graph CLI
              • Créer un subgraph
              • À partir d’un contrat existant
              • À partir d’un exemple de subgraph
              • Ajouter de nouvelles sources de données à un subgraph existant
              • Récupération des ABIs
              The GraphStatusTestnetActifs de la MarqueForumSécuritéPolitique de confidentialitéConditions d'utilisation