Создание субграфов на Base
Reading time: 3 min
Это руководство быстро познакомит Вас с тем, как инициализировать, создать и развернуть Ваш субграф в тестовой сети Base.
Что вам понадобится:
- Адрес контракта тестовой сети Base Sepolia
- Криптокошелек (например, MetaMask или Coinbase Wallet)
The Graph CLI (>=v0.41.0) написан на JavaScript, и для его использования Вам потребуется установить либо npm
, либо yarn
.
# NPMnpm install -g @graphprotocol/graph-cli# Yarnyarn global add @graphprotocol/graph-cli
Перейдите в и подключите свой криптокошелек.
После подключения нажмите «Создать субграф», введите имя Вашего субграфа и нажмите «Создать субграф».
Вы можете найти конкретные команды для своего субграфа в Subgraph Studio.
Убедитесь, что graph-cli обновлен до последней версии (выше 0.41.0)
graph --version
Инициализируйте свой субграф из существующего контракта.
graph init --studio <SUBGRAPH_SLUG>
Ваш subgraph slug - это идентификатор для Вашего субграфа. Инструмент CLI проведет Вас по шагам создания субграфа, включая:
- Протокол: ethereum
- Subgraph slug:
<SUBGRAPH_SLUG>
- Каталог для создания подграфа в:
<SUBGRAPH_SLUG>
- Ethereum network: base-sepolia
- Адрес контракта:
<CONTRACT_ADDRESS>
- Стартовый блок (необязателен)
- Имя контракта:
<CONTRACT_NAME>
- Да/нет для индексирования событий ("да" означает, что Ваш субграф будет загружен объектами в схеме и простыми мэппингами для происходящих событий)
Если происходящие события - это единственное, что Вы хотите проиндексировать, то никакой дополнительной работы не требуется, и Вы можете перейти к следующему шагу.
Предыдущая команда создает каркас субграфа, который Вы можете использовать в качестве отправной точки для построения своего субграфа. При внесении изменений в субграф Вы будете в основном работать с тремя файлами:
- Манифест (subgraph.yaml) - Манифест определяет, какие источники данных будут индексироваться Вашими субграфами. Обязательно добавьте
base-sepolia
в качестве имени сети в файле манифеста, чтобы развернуть свой субграф в тестовой сети Base. - Схема (schema.graphql) - Схема GraphQL определяет, какие данные Вы хотите извлечь из субграфа.
- AssemblyScript Mappings (mapping.ts) - это код, который преобразует данные из ваших источников данных в объекты, определенные в схеме.
Если Вы хотите проиндексировать дополнительные данные, Вам нужно будет расширить манифест, схему и мэппинг.
Для получения дополнительной информации о том, как создать свой субграф, см. .
Прежде чем Вы сможете развернуть свой субграф, Вам необходимо будет пройти аутентификацию в Subgraph Studio. Вы можете сделать это, выполнив следующую команду:
Аутентифицируйте субграф в studio
graph auth --studio <DEPLOY_KEY>
Затем войдите в свою директорию субграфа.
cd <SUBGRAPH_DIRECTORY>
Создайте свой субграф с помощью следующей команды:
```graph codegen && graph build```
В заключение Вы можете развернуть свой субграф с помощью этой команды:
```graph deploy --studio <SUBGRAPH_SLUG>```
Как только Ваш субграф развернут, Вы можете сделать запрос к нему из своего dapp, используя Development Query URL
в Subgraph Studio.
Примечание - Скорость работы Studio API ограничена. Следовательно, предпочтительно его использовать для разработки и тестирования.
Чтобы узнать больше о запросе данных из Вашего субграфа, посетите страницу .