5 минуты
Быстрый старт
Узнайте, как легко создать, опубликовать и запросить Субграф на The Graph.
Предварительные требования
- Криптовалютный кошелек
- Адрес смарт-контракта в поддерживаемой сети
- Node.js установлен
- Менеджер пакетов на Ваш выбор (
npm
,yarn
илиpnpm
)
Как создать субграф
1. Создайте Субграф в Subgraph Studio
Перейдите в Subgraph Studio и подключите свой кошелек.
Subgraph Studio позволяет создавать, управлять, развертывать и публиковать Субграфы, а также создавать и управлять API-ключами.
Нажмите “Создать субграф”. Рекомендуется называть субграф с использованием Заглавного регистра: “Subgraph Name Chain Name”.
2. Установка Graph CLI
Выполните одну из следующих команд на своём локальном компьютере:
Использование npm:
1npm install -g @graphprotocol/graph-cli@latest
Использование yarn:
1yarn global add @graphprotocol/graph-cli
3. Инициализируйте ваш субграф
Вы можете найти команды для вашего конкретного субграфа на странице субграфа в Subgraph Studio.
Команда graph init
автоматически создаст каркас субграфа на основе событий вашего контракта.
Следующая команда инициализирует ваш субграф на основе существующего контракта:
1graph init
Если Ваш контракт верифицирован на соответствующем блоксканере, где он развернут (например, Etherscan), то ABI будет автоматически создан в CLI.
Когда вы инициализируете свой субграф, CLI запросит у вас следующую информацию:
- Протокол: Выберите протокол, данные из которого будет индексировать ваш субграф.
- Слаг субграфа: Создайте имя для вашего субграфа. Слаг субграфа — это идентификатор для вашего субграфа.
- Каталог: Выберите каталог, в котором будет создан ваш субграф.
- Сеть Ethereum (необязательно): Вам может понадобиться указать, из какой совместимой с EVM сети ваш субграф будет индексировать данные.
- Адрес контракта: Найдите адрес смарт-контракта, из которого Вы хотите запрашивать данные.
- ABI: Если ABI не заполнен автоматически, Вам придется ввести его вручную в формате JSON.
- Начальный блок: Вы должны ввести начальный блок для оптимизации индексирования данных субграфа. Найдите начальный блок, определив блок, в котором был развернут ваш контракт.
- Имя контракта: Введите имя Вашего контракта.
- Индексирование событий контракта как объектов: Рекомендуется установить это значение в “true”, так как это автоматически добавит мэппинги для каждого сгенерированного события в ваш субграф.
- Добавление еще одного контракта (опционально): Вы можете добавить еще один контракт.
Вот скриншот, который демонстрирует, чего ожидать при инициализации вашего субграфа:

4. Редактирование вашего субграфа
Команда init
на предыдущем шаге создает скелет субграфа, который вы можете использовать в качестве отправной точки для создания вашего субграфа.
При внесении изменений в субграф вы будете в основном работать с тремя файлами:
- Манифест (
subgraph.yaml
) — определяет, какие источники данных ваш субграф будет индексировать. - Схема (
schema.graphql
) — определяет, какие данные вы хотите извлекать из субграфа. - AssemblyScript Mappings (mapping.ts) - это код, который преобразует данные из Ваших источников данных в объекты, определенные в схеме.
Для подробного объяснения того, как писать ваш субграф, ознакомьтесь с разделом Создание субграфа.
5. Развертывание Вашего субграфа
Помните, развертывание — это не то же самое, что публикация.
Когда вы разворачиваете субграф, вы отправляете его в Subgraph Studio, где можете тестировать, настраивать и проверять его. Индексирование развернутого субграфа выполняется с помощью Upgrade Indexer, который является единственным Индексатором, принадлежащим и управляемым Edge & Node, а не многими децентрализованными Индексаторами в сети The Graph. Развернутый субграф бесплатен для использования, имеет ограничения по количеству запросов, не виден для общественности и предназначен для разработки, настройки и тестирования.
Как только ваш субграф написан, выполните следующие команды:
1```sh2graph codegen && graph build3```
Аутентифицируйтесь и разверните ваш субграф. Ключ для развертывания можно найти на странице субграфа в Subgraph Studio.

1```sh23graph auth <DEPLOY_KEY>45graph deploy <SUBGRAPH_SLUG>6```
CLI запросит метку версии. Настоятельно рекомендуется использовать семантическую версию, например, 0.0.1
.
6. Просмотр Вашего субграфа
Если вы хотите протестировать свой субграф перед его публикацией, вы можете использовать Subgraph Studio для выполнения следующих действий:
-
Запустить пример запроса.
-
Анализируйте свой субграф в панели управления, чтобы проверить информацию.
-
Проверьте логи на панели управления, чтобы узнать, есть ли ошибки в вашем субграфе. Логи работающего субграфа будут выглядеть так:
Subgraph logs
7. Опубликуйте свой субграф в сети The Graph
Когда ваш субграф готов к использованию в рабочей среде, вы можете опубликовать его в децентрализованную сеть. Публикация — это действие в сети, которое выполняет следующие задачи:
- Это делает ваш субграф доступным для индексирования децентрализованными Индексаторами в сети The Graph.
- Это снимает ограничения по количеству запросов и делает ваш субграф общедоступным для поиска и запросов в Graph Explorer.
- Это делает ваш субграф доступным для Кураторов, чтобы они могли его курировать.
Чем больше GRT вы и другие курируете на вашем субграфе, тем больше Индексаторов будут мотивированы индексировать ваш субграф, что улучшит качество обслуживания, уменьшит задержку и повысит избыточность сети для вашего субграфа.
Публикация с помощью Subgraph Studio
Чтобы опубликовать ваш субграф, нажмите кнопку “Опубликовать” на панели управления.

Выберите сеть, в которую вы хотите опубликовать свой субграф.
Публикация с помощью CLI
Начиная с версии 0.73.0, вы также можете опубликовать свой субграф с помощью Graph CLI.
Откройте graph-cli
.
Используйте следующие команды:
1```sh2graph codegen && graph build3```45Затем,67```sh8graph publish9```
- Откроется окно, где Вы сможете подключить свой кошелек, добавить метаданные и развернуть финализированный субграф в выбранной Вами сети.

Чтобы настроить ваше развертывание, смотрите раздел Публикация субграфа.
Добавление сигнала к Вашему субграфу
-
Чтобы привлечь Индексаторов для запросов к вашему субграфу, вам следует добавить сигнал курирования GRT.
- Это действие улучшает качество обслуживания, снижает задержку и повышает сетевую избыточность и доступность для вашего субграфа.
-
Если индексаторы имеют право на получение вознаграждений за индексацию, они получат вознаграждения в GRT, в соответствии с количеством поданного сигнала.
- Рекомендуется курировать как минимум 3,000 GRT, чтобы привлечь 3 Индексаторов. Проверьте право на вознаграждения в зависимости от использования функций субграфа и поддерживаемых сетей.
Чтобы узнать больше о кураторстве, прочитайте статью Курирование.
Чтобы сэкономить на газовых расходах, вы можете закрепить свой субграф в той же транзакции, в которой его публикуете, выбрав эту опцию:

8. Запрос Вашего субграфа
Теперь у вас есть доступ к 100 000 бесплатных запросов в месяц для вашего субграфа в The Graph Network!
Вы можете выполнять запросы к своему субграфу, отправляя запросы GraphQL по его URL для запросов, который можно найти, нажав кнопку “Запрос”.
Для получения дополнительной информации о том, как выполнять запросы к данным из вашего субграфа, прочитайте статью Запросы к данным в The Graph.