The Graph первые шаги
Автор admin
0
2 недели ago

The Graph —  это децентрализованный протокол для индексирования и запроса данных из блокчейнов.
Сейчас он работает только с Ethereum, но в планах команды реализовать его и на других блокчейнах. Граф создан для того, чтобы помочь dApps запрашивать данные, которые не могут быть просто получены с помощью блокчейн-узла.
Запросы выполняются благодаря API GraphQL.

API GraphQL

Запросы выполняются с помощью API GraphQL. Протестируем на примере Uniswap подграфа V2: https://thegraph.com/explorer/subgraph/uniswap/uniswap-v2.

Давайте попробуем выполнить некоторые запросы в подграфе Uniswap.
Пример:

graph_uniswap1

Выводятся первые пять uniswapFactories и его поля: id, pairCount, pairs, и первые пять токенов полей: id, symbol, name, decimals. Но если мы попытаемся его выполнить, то получим ошибку

thegraph_uniswap2

Да, пример неверен! Скорее всего, команда скоро это исправит. В чем же проблема? С правой стороны вы можете увидеть схему подграфа

thegraph_uniswap3

Давайте нажмем на UniswapFactory:

thegraph_uniswap4

Мы видим сущности UniswapFactory, и, как вы можете видеть, там нет поля «pairs». Но мы попросили subgraph вывести эту сущность для UniswapFactory. Вот в чем проблема. Если мы попытаемся выполнить запрос:

thegraph_uniswap5

мы увидим правильный результат:

thegraph_uniswap6

Итак, в общем случае, если вы хотите запросить что-то с помощью подграфа, сначала вы должны посмотреть на схему подграфа и его сущности. Возьмите интересующую вас сущность, например «token», и добавьте ее в схему запроса. Если вы хотите запросить один токен, вы используете «token», но если вы хотите запросить все сущности токенов, вы должны использовать «tokens».
Вот и все! Вперед, космонавты!