Cookbook > Mise à niveau d'un subgraph existant vers le réseau Graph

Mise à niveau d'un subgraph existant vers le réseau Graph

Reading time: 8 min

Présentation

Lien vers cette section

Ceci est un guide sur la façon de mettre à niveau votre subgraph du service hébergé vers le réseau décentralisé de The Graph. Plus de 1 000 sous-graphiques ont été mis à niveau avec succès vers The Graph Network, y compris des projets tels que Snapshot, Loopring, Audius, Premia, Livepeer, Uma, Curve, Lido et bien d'autres !

Le processus de mise à niveau est rapide et vos subgraphs bénéficieront à jamais de la fiabilité et de la performance que vous ne pouvez obtenir que sur le Réseau Graph.

Conditions préalables

Lien vers cette section
  • Vous avez un subgraph déployé sur le service hébergé.

Mise à niveau d'un subgraph existant vers le réseau Graph

Lien vers cette section

Si vous êtes connecté au service hébergé, vous pouvez accéder à un flux simple pour mettre à niveau vos subgraphs à partir de votre tableau de bord ou à partir d'une page de subgraph individuelle.

Ce processus prend généralement moins de cinq minutes.

  1. Sélectionnez le(s) subgraph(s) que vous souhaitez mettre à niveau.
  2. Connecter ou entrer dans le portefeuille destinataire (le portefeuille qui deviendra le propriétaire du subgraph).
  3. Cliquez sur le bouton "Mise à niveau".

That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the Subgraph Studio to manage your subgraphs, logging in with the wallet specified during the upgrade process.

Vous pourrez visualiser vos subgraphs en direct sur le réseau décentralisé via Graph Explorer.

Quelle est la prochaine étape ?

Lien vers cette section

Lorsque votre subgraph est mis à jour, il sera automatiquement indexé par l'indexeur de mise à jour. Si la chaîne indexée est entièrement prise en charge par The Graph Network, vous pouvez ajouter quelques GRT comme "signal", pour attirer plus d'indexeurs. Il est recommandé de curer votre subgraph avec au moins 3 000 GRT pour attirer 2-3 indexeurs pour une meilleure qualité de service.

Vous pouvez commencer à interroger votre subgraph immédiatement sur The Graph Network, une fois que vous avez généré une clé API.

Créer une clé d'API

Lien vers cette section

Vous pouvez générer une clé API dans Subgraph Studio Ici.

Page de création de la clé API

Vous pouvez utiliser cette clé API pour interroger des subgraphs sur le réseauThe Graph. Tous les utilisateurs commencent par le plan gratuit, qui comprend 100 000 requêtes gratuites par mois. Les développeurs peuvent s'inscrire au Growth Plan en connectant une carte de crédit ou de débit, ou en déposant des GRT dans le système de facturation de Subgraph Studio.

Note : voir la documentation sur la facturation pour plus d'informations sur les plans, et sur la gestion de votre facturation sur Subgraph Studio.

Sécurisation de votre clé API

Lien vers cette section

Il est recommandé de sécuriser l'API en limitant son utilisation de deux manières :

  1. Les subgraphs autorisés
  2. Le Domaine autorisé

You can secure your API key here.

Page de verrouillage du subgraph

Interroger votre subgraph sur le réseau décentralisé

Lien vers cette section

Now you can check the indexing status of the Indexers on the network in Graph Explorer (example here). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph.

Subgraph Rocket Pool

Dès que le premier indexeur a complètement indexé votre subgraph, vous pouvez commencer à interroger le subgraph sur le réseau décentralisé. Afin de récupérer l'URL de requête pour votre subgraph, vous pouvez le copier/coller en cliquant sur le symbole à côté de l'URL de requête. Vous verrez quelque chose comme ceci :

https://gateway.thegraph.com/api/[api-key]/subgraphs/id/S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo

Important : Assurez-vous de remplacer [api-key] par une clé API réelle générée dans la section ci-dessus.

Vous pouvez maintenant utiliser cette URL de requête dans votre dapp pour envoyer vos requêtes GraphQL.

Toutes nos félicitations! Vous êtes désormais un pionnier de la décentralisation !

Notez : En raison de la nature distribuée du réseau, il se peut que différents indexeurs aient indexé des blocs différents. Afin de ne recevoir que des données fraîches, vous pouvez spécifier le bloc minimum qu'un indexeur doit avoir indexé pour servir votre requête avec l'argument de champ block : { number_gte: $minBlock } comme le montre l'exemple ci-dessous :

{
stakers(block: { number_gte: 14486109 }) {
id
}
}

Plus d'informations sur la nature du réseau et sur la manière de gérer les réorganisations sont décrites dans l'article de documentation Distributed Systems.

Mise à jour d'un subgraph sur le réseau

Lien vers cette section

Si vous souhaitez mettre à jour un subgraph existant sur le réseau, vous pouvez le faire en déployant une nouvelle version de votre subgraph sur Subgraph Studio à l'aide de la CLI Graph.

  1. Make changes to your current subgraph.
  2. Déployez les éléments suivants et spécifiez la nouvelle version dans la commande (par exemple v0.0.1, v0.0.2, etc.) :
graph déployer --studio --version <version> <SUBGRAPH_SLUG>
  1. Testez la nouvelle version dans Subgraph Studio en effectuant des requêtes dans l'aire de jeu
  2. Publier la nouvelle version sur le réseau graph. N'oubliez pas que cela nécessite du gaz (comme décrit dans la section ci-dessus).

Owner Update Fee: Deep Dive

Lien vers cette section

Note: Curation on Arbitrum has a flat bonding curve. Learn more about Arbitrum here.

Une mise à jour nécessite que des GRT soient migré de l'ancienne version du subgraph vers la nouvelle version. Cela signifie que pour chaque mise à jour, une nouvelle courbe de liaison sera créée (plus d'informations sur les courbes de liaison here).

Les nouveaux frais de la coube liaison applique la taxe de curation de 1 % sur tous les GRT transférés vers la nouvelle version. Le propriétaire doit payer 50 % de cette taxe, soit 1,25 %. L'autre 1,25 % est absorbé par tous les conservateurs en tant que frais. Ce système d'incitation a été mis en place pour empêcher le propriétaire d'un subgraph de drainer tous les fonds de son curateur par des appels récursifs de mise à jour. S'il n'y a pas d'activité de curation, vous devrez payer un minimum de 100 GRT pour signaler votre propre subgraph.

Prenons un exemple, ce n'est le cas que si votre subgraph fait l'objet d'une curation active :

  • 100,000 GRT sont signalés en utilisant la migration automatique sur la v1 d'un subgraph
  • Le propriétaire passe à la version 2. 100 000 GRT sont transférés vers une nouvelle courbe de collage, où 97 500 GRT sont placés dans la nouvelle courbe et 2 500 GRT sont brûlés
  • Le propriétaire fait alors brûler 1 250 GRT pour payer la moitié des frais. Le propriétaire doit l'avoir dans son portefeuille avant la mise à jour, sinon la mise à jour échouera. Cela se produit dans la même transaction que la mise à jour.

Bien que ce mécanisme soit actuellement actif sur le réseau, la communauté discute actuellement des moyens de réduire le coût des mises à jour pour les développeurs de subgraphs.

Maintenir une version stable d'un subgraph

Lien vers cette section

Si vous apportez de nombreuses modifications à votre subgraph, il n'est pas judicieux de le mettre à jour en permanence et de faire face aux coûts de mise à jour. Il est essentiel de maintenir une version stable et cohérente de votre subgraph, non seulement du point de vue des coûts, mais aussi pour que les indexeurs puissent avoir confiance dans leurs temps de synchronisation. Les indexeurs doivent être avertis lorsque vous prévoyez une mise à jour afin que les délais de synchronisation des indexeurs ne soient pas affectés. N'hésitez pas à utiliser le #Indexers channel sur Discord pour informer les indexeurs de la mise à jour de vos subgraphs.

Les subgraphs sont des API ouvertes que les développeurs externes exploitent. Les API ouvertes doivent suivre des normes strictes afin de ne pas casser les applications des développeurs externes. Dans The Graph Network, un développeur de subgraphs doit prendre en compte les indexeurs et le temps qu'il leur faut pour synchroniser un nouveau subgraph ainsi que les autres développeurs qui utilisent leurs subgraphs.

Mise à jour des métadonnées d'un subgraph

Lien vers cette section

Vous pouvez mettre à jour les métadonnées de vos subgraphs sans avoir à publier une nouvelle version. Les métadonnées comprennent le nom du subgraph, l'image, la description, l'URL du site web, l'URL du code source et les catégories. Les développeurs peuvent le faire en mettant à jour les détails de leurs subgraphs dans Subgraph Studio, où vous pouvez modifier tous les champs applicables.

Assurez-vous que Mettre à jour les détails du subgraph dans l'Explorateur est coché et cliquez sur Enregistrer. Si cette case est cochée, une transaction en chaîne sera générée qui mettra à jour les détails du subgraph dans l'Explorateur sans avoir à publier une nouvelle version avec un nouveau déploiement.

Meilleures pratiques pour le déploiement d'un subgraph sur le réseau The Graph

Lien vers cette section
  1. Utilisation d'un nom d'ENS pour le développement de subgraph :
  1. Plus vos profils seront complets, plus vos subgraphes auront de chances d'être indexés et conservés.

Dépréciation d'un subgraph sur le réseau de graph

Lien vers cette section

Suivez les étapes ici pour déprécier votre subgraph et le retirer du réseau The Graph Network.

Interrogation d'un subgraph + facturation sur le reseau The Graph

Lien vers cette section

Le service hébergé a été configuré pour permettre aux développeurs de déployer leurs subgraphs sans aucune restriction.

Sur The Graph Network, les frais de requête doivent être payés dans le cadre des incitations essentielles du protocole. Pour plus d'informations sur l'abonnement aux API et le paiement des frais de requête, consultez la documentation de facturation ici.

Ressources additionnelles

Lien vers cette section

Si vous êtes encore confus, n'ayez crainte ! Consultez les ressources suivantes ou regardez notre guide vidéo sur la mise à niveau des subgraphs vers le réseau décentralisé ci-dessous :

Modifier une page

Précédente
How to Secure API Keys Using Next.js Server Components
Suivante
Guide de migration de l'AssemblyScript
Modifier une page