Подграфы

Мы поддерживаем разработку эффективных и отзывчивых приложений, предоставляя доступ к данным блокчейна в реальном времени и с высокой точностью через использование индексного протокола The Graph. Подграфы — это мощный инструмент, который позволяет нам индексировать данные, хранящиеся в Ethereum, и запрашивать эти данные с помощью GraphQL.

Вот как вы можете использовать пользовательские подграфы для запроса связанных данных в протоколе.

Подграф URL запроса
SOFA Mainnet https://gateway.thegraph.com/api/your-api-key/subgraphs/id/5Po2c7F3DiGty1pCRpsDF9yURbpapiWXmkw9ckbafLqe
SOFA Arbitrum https://gateway.thegraph.com/api/your-api-key/subgraphs/id/HcQUG7TbdiSUpsNd4QxJ54iAHvD4TjmkUxsTfkgFdhmC
SOFA BSC https://gateway.thegraph.com/api/your-api-key/subgraphs/id/88UgiNTsJjJ15V1GXTRnUxJBza3ZsrYZyUdAiVuRwQbX
SOFA Polygon https://gateway.thegraph.com/api/your-api-key/subgraphs/id/5AyRj7tY5HsXznUBCQMKuVbbdcBXQfSRQ5K77wMBwER1
SOFA Sei https://gateway.thegraph.com/api/your-api-key/subgraphs/id/9NTKYrnPsZASfbe8gx55ZqmViWLwEZNArbkQbC6cXRVb
SOFA Automator Mainnet https://gateway.thegraph.com/api/your-api-key/subgraphs/id/Ao7xxFupmSqH8imXCCLKK8KJnBwkMrTrkGtFfP78Mqr
SOFA Automator Arbitrum https://gateway.thegraph.com/api/your-api-key/subgraphs/id/7DKnoe1Hqek8BWrmMFKJF6RfNTH9z8th7yHqM7MCYjCt

Доступ к нашему подграфу

Мы создали специальные подграфы для данных протокола. Эти подграфы содержат различные сущности, индексированные из блокчейна, такие как транзакции, аккаунты и конкретные события, связанные с нашими DeFi продуктами. Вы можете запрашивать данные в подграфе, следуя следующим шагам:

Шаг 1: Найдите конечную точку

Найдите URL конечной точки GraphQL, соответствующий подграфу, с которым вы хотите взаимодействовать. Обычно это выглядит как веб-адрес. Пожалуйста, убедитесь, что вы используете самую актуальную конечную точку.

Шаг 2: Поймите схему

Схема описывает сущности в подграфе и типы запросов, которые можно выполнять. Понимание схемы имеет решающее значение для написания эффективных запросов.

Шаг 3: Напишите запрос GraphQL

Основываясь на схеме, вы можете начать писать запросы GraphQL для получения данных из подграфа. GraphQL позволяет делать очень специфические запросы, запрашивая только те поля, которые вас интересуют. Например, если вы хотите запросить подробную информацию о каждой транзакции, вы можете написать запрос, подобный этому:

{
  transactions(first: 5) {
    vault
    tradingFeeRate
    totalCollateral
    timestamp
    term
    spreadAPR
    referral
    minter
    makerCollateral
    maker
    id
    hash
    expiry
    collateralAtRiskPercentage
    borrowAPR
    anchorPrices
  }
}

Это вернет транзакции и их связанные детали для первых пяти записей в блокчейне.

Шаг 4: Отправьте запрос

Отправьте ваш запрос, используя любой HTTP-клиент, который поддерживает GraphQL. Вы можете использовать командную строку, такую как curl, или библиотеку, интегрированную в ваше приложение, например, apollo-client. Обычно запрос отправляется как POST-запрос на URL конечной точки.

Пример кода с использованием curl выглядит следующим образом:

curl -X POST -H "Content-Type: application/json" --data '{"query": "{ transactions(first: 5) { id vault totalCollateral minter timestamp } }"}'  https://api.studio.thegraph.com/query/77961/sofa-mainnet/version/latest

Замените URL в зависимости от фактической ситуации.

Шаг 5: Анализируйте и используйте ответ

После отправки вашего запроса, служба GraphQL вернет ответ в формате JSON. Вы можете обработать эти данные в вашем приложении или напрямую отобразить их пользователям на фронтенде.

Лучшие практики

  • Используйте переменные запроса: Если вам часто нужно выполнять запросы одной и той же структуры, но с разными параметрами, использование переменных запроса может упростить повторное использование ваших запросов.
  • Обрабатывайте ошибки: В дополнение к обычным ответам, GraphQL также может возвращать информацию об ошибках. Убедитесь, что ваш клиентский код может корректно обрабатывать эти ситуации.

Следуя вышеуказанным шагам, вы сможете эффективно использовать The Graph для запроса данных о протоколе SOFA для поддержки ваших проектов разработки. Пожалуйста, обратитесь к остальной части нашей документации для разработчиков и связанных ресурсов Subgraph для получения дополнительной информации.

results matching ""

    No results matching ""