subgraphs > Быстрый старт

Быстрый старт

Reading time: 5 min

Learn how to easily build, publish and query a subgraph on The Graph.

Предварительные требования

Ссылка на этот раздел
  • Криптовалютный кошелек
  • A smart contract address on a supported network
  • Node.js installed
  • A package manager of your choice (npm, yarn or pnpm)

1. Create a subgraph in Subgraph Studio

Ссылка на этот раздел

Перейдите в Subgraph Studio и подключите свой кошелек.

Subgraph Studio позволяет создавать, управлять, развертывать и публиковать субграфы, а также создавать и управлять API-ключами.

Нажмите "Создать субграф". Рекомендуется называть субграф с использованием Заглавного регистра: "Subgraph Name Chain Name".

2. Установка Graph CLI

Ссылка на этот раздел

Выполните одну из следующих команд на своём локальном компьютере:

Использование npm:

npm install -g @graphprotocol/graph-cli@latest

Использование yarn:

yarn global add @graphprotocol/graph-cli

3. Инициализация Вашего cубграфа

Ссылка на этот раздел

Вы можете найти команды для своего конкретного субграфа на странице субграфа в Subgraph Studio.

The graph init command will automatically create a scaffold of a subgraph based on your contract's events.

Следующая команда инициализирует ваш субграф из существующего контракта:

graph init

If your contract was verified on Etherscan, then the ABI will automatically be created in the CLI.

При инициализации субграфа CLI запросит у Вас следующую информацию:

  • Protocol: Choose the protocol your subgraph will be indexing data from.
  • Subgraph slug: Create a name for your subgraph. Your subgraph slug is an identifier for your subgraph.
  • Directory: Choose a directory to create your subgraph in.
  • Ethereum network (optional): You may need to specify which EVM-compatible network your subgraph will be indexing data from.
  • Contract address: Locate the smart contract address you’d like to query data from.
  • ABI: If the ABI is not auto-populated, you will need to input it manually as a JSON file.
  • Start Block: You should input the start block to optimize subgraph indexing of blockchain data. Locate the start block by finding the block where your contract was deployed.
  • Contract Name: Input the name of your contract.
  • Index contract events as entities: It is suggested that you set this to true, as it will automatically add mappings to your subgraph for every emitted event.
  • Add another contract (optional): You can add another contract.

На следующем скриншоте показан пример того, чего следует ожидать при инициализации субграфа:

Subgraph command

Команда init на предыдущем шаге создает шаблон субграфа, который Вы можете использовать в качестве отправной точки для его разработки.

При внесении изменений в субграф Вы будете работать в основном с тремя файлами:

  • Манифест (subgraph.yaml) — определяет, какие источники данных Ваш субграф будет индексировать.
  • Схема (schema.graphql) - Схема GraphQL определяет, какие данные Вы хотите извлечь из субграфа.
  • AssemblyScript Mappings (mapping.ts) - это код, который преобразует данные из Ваших источников данных в объекты, определенные в схеме.

Для получения более детальной информации о том, как создать свой субграф, ознакомьтесь с разделом Creating a Subgraph.

5. Развертывание Вашего субграфа

Ссылка на этот раздел

Помните, развертывание — это не то же самое, что публикация.

Когда Вы развертываете субграф, Вы загружаете его в Subgraph Studio, где можете его протестировать, подготовить и просмотреть.

Когда Вы публикуете субграф, Вы публикуете его в децентрализованной сети на чейне.

После того как Ваш субграф будет написан, выполните следующие команды:

```sh
graph codegen && graph build
```

Аутентифицируйте и разверните свой субграф. Ключ развертывания можно найти на странице Subgraph в Subgraph Studio.

Deploy key

```sh
graph auth <DEPLOY_KEY>
graph deploy <SUBGRAPH_SLUG>
```

The CLI will ask for a version label. It's strongly recommended to use semantic versioning, e.g. 0.0.1.

6. Просмотр Вашего субграфа

Ссылка на этот раздел

If you’d like to test your subgraph before publishing it, you can use Subgraph Studio to do the following:

  • Запустить пример запроса.

  • Проанализировать Ваш субграф на панели управления для проверки информации.

  • Проверить логи на панели управления, чтобы убедиться, нет ли ошибок в Вашем субграфе. Логи рабочего субграфа будут выглядеть следующим образом:

    Subgraph logs

Публикация Вашего субграфа в сети The Graph

Ссылка на этот раздел

Publishing a subgraph to the decentralized network is an onchain action that makes your subgraph available for Curators to curate it and Indexers to index it.

Публикация с помощью Subgraph Studio

Ссылка на этот раздел

Чтобы опубликовать свой субграф, нажмите кнопку «Опубликовать» на панели управления.

Publish a subgraph on Subgraph Studio

Выберите сеть, в которую хотите опубликовать свой субграф.

Публикация с помощью CLI

Ссылка на этот раздел

Начиная с версии 0.73.0, Вы также можете публиковать свой субграф с помощью Graph CLI.

Откройте graph-cli.

Используйте следующие команды:

```sh
graph codegen && graph build
```
Then,
```sh
graph publish
```
  1. Откроется окно, где Вы сможете подключить свой кошелек, добавить метаданные и развернуть финализированный субграф в выбранной Вами сети.

cli-ui

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

Добавление сигнала к Вашему субграфу

Ссылка на этот раздел
  1. To attract Indexers to query your subgraph, you should add GRT curation signal to it.

    • Это действие улучшает качество обслуживания, снижает задержку и увеличивает надежность и доступность сети для Вашего субграфа.
  2. Если индексаторы имеют право на получение вознаграждений за индексацию, они получат вознаграждения в GRT, в соответствии с количеством поданного сигнала.

    • Рекомендуется добавить как минимум 3,000 GRT, чтобы привлечь 3 индексаторов. Проверьте право на вознаграждение на основе использования функций субграфа и поддерживаемых сетей.

Чтобы узнать больше о кураторстве, прочитайте раздел Curating.

Чтобы сэкономить на расходах на газ, Вы можете курировать свой субграф в той же транзакции, в которой Вы его публикуете, выбрав эту опцию:

Subgraph publish

8. Запрос Вашего субграфа

Ссылка на этот раздел

You now have access to 100,000 free queries per month with your subgraph on The Graph Network!

You can query your subgraph by sending GraphQL queries to its Query URL, which you can find by clicking the Query button.

Для получения дополнительной информации о запросах данных из Вашего субграфа прочитайте раздел Querying The Graph.

Редактировать страницу

Предыдущий
Protocol Contracts
Следующий
Graph Explorer
Редактировать страницу