Core Subgraph utilisant GraphQL
Les développeurs peuvent utiliser un sous-graphe auto-hébergé pour extraire des données de la blockchain Core, les traiter et les stocker pour une utilisation via GraphQL. Voici comment créer et déployer cet outil puissant.
URLs et Clés Importantes
Core Mainnet
| URL | Utilisation |
|---|---|
| URL de gestion: https://thegraph.coredao.org/deploy/ | Utiliser pour créer/déployer des sous-graphes (--node or -g). |
| URL IPFS: https://thegraph.coredao.org/ipfs/ | Utiliser pour déployer des sous-graphes. |
| URL de requête HTTP: https://thegraph.coredao.org | Utiliser pour interroger des données depuis des sous-graphes. |
| Health check URL: https://thegraph-is.coredao.org | Utiliser pour vérifier la santé des sous-graphes. |
Core Testnet2
| URL | Utilisation |
|---|---|
| URL de gestion: https://thegraph-node.test2.btcs.network | Utiliser pour créer/déployer des sous-graphes (--node or -g). |
| URL IPFS: https://thegraph-ipfs.test2.btcs.network | Utiliser pour déployer des sous-graphes. |
| URL de requête HTTP: https://thegraph.test2.btcs.network | Utiliser pour interroger des données depuis des sous-graphes. |
| Health check URL: https://thegraph-sub.test2.btcs.network | Utiliser pour vérifier la santé des sous-graphes. |
Étapes Générales pour la Configuration du Sous-Graphe
Créer un Répertoire
Suivez le guide officiel de The Graph pour créer votre répertoire de sous-graphe. Dans le but de deployer sur le de sous-graphe Core, assurez-vous de définir le nom du réseau dans subgraph.yaml sur core. Selon votre sous-graphe, il peut y avoir quelques modifications supplémentaires à effectuer. Vous trouverez des détails supplémentaires dans la section d'exemple complète ci-dessous.
Créer et Déployer
Pour créer et déployer votre sous-graphe, exécutez les commandes suivantes dans le répertoire de votre projet de sous-graphe.
# Créer le sous-graphe
graph create your-subgraph-name --node https://thegraph.coredao.org/deploy/
# Déployer le sous-graphe
graph deploy your-subgraph-name --node https://thegraph.coredao.org/deploy/ --ipfs https://thegraph.coredao.org/ipfs/
La commande de déploiement graph deploy devrait retourner l'URL HTTP de requête pour votre sous-graphe, que vous pouvez intégrer dans votre application selon vos besoins.
Exemple : Déploiement d'un sous-graphe Uniswap V2
Maintenant que nous comprenons le processus, passons à un exemple complet en configurant un sous-graphe Uniswap V2 sur Core.
Premièrement, clonez le répertoire du sous-graphe Uniswap V2, accédez au dossier du projet, puis exécutez les commandes suivantes depuis ce répertoire :
# Installer les dépendances avec npm (ou yarn)
npm install
# Générer le code du sous-graphe
npm run codegen
Maintenant nous allons apporter quelques modifications nécessaires aux fichiers subgraph.yaml et helpers.ts :
- subgraph.yaml:
- Changez le nom du réseau en
coreaux lignes 9 et 37. - Mettez à jour l'adresse du factory à la ligne 11.
- Mettez à jour le
startBlockà la ligne 13 avec une hauteur de bloc raisonnable (la hauteur actuelle du bloc est disponible ici).
- Changez le nom du réseau en
- src/mappings/helpers.ts:
- Mettez à jour l'adresse du factory à la ligne 11.
Finalement, nous allons exécuter les commandes de création et de déploiement. Pour éviter les problèmes de compatibilité, utilisez la version de graph-cli installée dans le projet (au lieu de la version globale) en préfixant la commande graph avec ./node_modules/.bin/.
# Créer un nouveau sous-graphe appelé uniswap-4-test
./node_modules/.bin/graph create uniswap-4-test --node https://thegraph.coredao.org/deploy/
# Déployer le sous-graphe uniswap-4-test
./node_modules/.bin/graph deploy uniswap-4-test --node https://thegraph.coredao.org/deploy/ --ipfs https://thegraph.coredao.org/ipfs/
# Le déploiement devrait imprimer une URL HTTP de requête similaire à :
# https://thegraph.coredao.org/subgraphs/name/uniswap-4-test
Félicitations, votre sous-graphe est déployé ! Vous pouvez maintenant intégrer l'URL de requête HTTP imprimée par la commande de déploiement dans votre site web et l'utiliser pour interroger les données.
Autorisation
Pour empêcher que votre sous-graphe soit écrasé par d'autres, veuillez nous contacter sur Discord pour obtenir une clé d'autorisation.
Si vous testez le Core TestNet2 Graph, voici les jetons d'accès à usage général :
- Clé générale pour Core Testnet2: b020b95e511443699e72a10c697f84c0