2 minutes
Identifiant du Subgraph VS. Identifiant de déploiement
Un subgraph est identifié par un ID de subgraph, et chaque version du subgraph est identifiée par un ID de déploiement.
Lors de l’interrogation d’un subgraph, l’un ou l’autre ID peut être utilisé, bien qu’il soit généralement suggéré d’utiliser l’ID de déploiement en raison de sa capacité à spécifier une version spécifique d’un subgraph.
Voici les principales différences entre les deux ID :
Identifiant de déploiement
L’ID de déploiement est le hash IPFS du fichier manifeste compilé, qui fait référence à d’autres fichiers sur IPFS au lieu d’URL relatives sur l’ordinateur. Par exemple, le manifeste compilé est accessible via : https://ipfs.thegraph.com/ipfs/QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED
. Pour modifier l’ID de déploiement, il suffit de mettre à jour le fichier de manifeste, en modifiant par exemple le champ de description comme décrit dans la documentation du manifeste du subgraph.
Lorsque des requêtes sont effectuées à l’aide de l’ID de déploiement d’un subgraph, nous spécifions une version de ce subgraph à interroger. L’utilisation de l’ID de déploiement pour interroger une version spécifique du subgraph donne lieu à une configuration plus sophistiquée et plus robuste, car il y a un contrôle total sur la version du subgraph interrogée. Toutefois, cela implique la nécessité de mettre à jour manuellement le code d’interrogation chaque fois qu’une nouvelle version du subgraph est publiée.
Exemple d’endpoint utilisant l’identifiant de déploiement:
https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB
Identifiant du Subgraph
L’ID du subgraph est un ID unique pour un subgraph. Il reste constant dans toutes les versions d’un subgraph. Il est recommandé d’utiliser l’ID du subgraph pour demander la dernière version d’un subgraph, bien qu’il y ait quelques mises en garde.
Sachez que l’interrogation à l’aide de l’ID du Subgraph peut entraîner la réponse à des requêtes par une version plus ancienne du Subgraph, la nouvelle version ayant besoin d’un certain temps pour se synchroniser. De plus, les nouvelles versions peuvent introduire des changements de schéma radicaux.
Exemple d’endpoint utilisant l’ID du subgraph : https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW