2 минуты
Идентификатор субграфа vs Идентификатор развертывания
Субграф идентифицируется с помощью идентификатора субграфа, а каждая его версия — с помощью идентификатора развертывания.
При выполнении запроса к субграфу можно использовать любой из идентификаторов, но обычно рекомендуется использовать идентификатор развертывания, так как он позволяет указать конкретную версию субграфа.
Вот некоторые ключевые различия между двумя ID:
Идентификатор развертывания
Идентификатор развертывания — это IPFS-хеш скомпилированного файла манифеста, который ссылается на другие файлы в IPFS вместо относительных URL на компьютере. Например, скомпилированный манифест можно открыть по ссылке: https://ipfs.thegraph.com/ipfs/QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED
. Чтобы изменить идентификатор развертывания, можно просто обновить файл манифеста, например, изменив поле description, как описано в документации манифеста субграфа.
Когда запросы выполняются с использованием идентификатора развертывания субграфа, мы указываем конкретную версию этого субграфа для запроса. Использование идентификатора развертывания для запроса определённой версии субграфа обеспечивает более продвинутую и надежную настройку, так как даёт полный контроль над версией субграфа, к которой выполняется запрос. Однако это приводит к необходимости вручную обновлять код запроса каждый раз при публикации новой версии субграфа.
Пример конечной точки, использующей идентификатор развертывания:
https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB
Идентификатор субграфа
Идентификатор субграфа — это уникальный идентификатор для субграфа. Он остаётся постоянным для всех версий субграфа. Рекомендуется использовать идентификатор субграфа для запроса последней версии субграфа, хотя существуют некоторые особенности.
Имейте в виду, что запросы с использованием идентификатора субграфа могут привести к тому, что на запрос будет отвечать старая версия субграфа, так как новой версии может потребоваться время для синхронизации. Также новые версии могут вводить изменения в схеме, которые являются несовместимыми с предыдущими версиями.
Пример конечной точки, использующей идентификатор субграфа: https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW