> For the complete documentation index, see [llms.txt](https://thegraph.gitbook.io/ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://thegraph.gitbook.io/ru/master.md).

# О проекте The Graph

The Graph Protocol - это протокол индексации запросов к сетям, таким как Ethereum и IPFS. Любой может создавать и публиковать открытые API, называемые [подграфами](https://thegraph.com/explorer/) (subgraphs), с помощью них можно запросить данные, которые трудно получить напрямую из блокчейна.

С момента запуска в январе 2019 года The Graph расширился и теперь поддерживает многие ведущие протоколы DeFi, включая Synthetix, Uniswap, Aave, Balancer, Aragon и другие. Все эти DeFi-протоколы запрашивают данные из подграфов, такие как торговые операции, ликвидность на DEX площадках и многое другое. Другими словами, The Graph действует как критически важный компонент промежуточного программного обеспечения для того, чтобы сделать данные более удобными для приложений DeFi. До появления The Graph командам приходилось разрабатывать и эксплуатировать проприетарные серверы индексирования. Это требовало значительных инженерных и аппаратных ресурсов и нарушало важные свойства безопасности, необходимые для децентрализации.

![](/files/-MIPpe_NbYlUm-70ZaA1)

### Почему The Graph так важен для Web3.0

Давайте рассмотрим, для чего нужен The Graph на конкретном примере.\
Например, к популярному приложению [CryptoKitties](https://www.cryptokitties.co/) относительно просто задать следующие вопросы:

> *Сколько CryptoKitties принадлежит конкретной учетной записи Ethereum?*
>
> *Когда родился конкретный CryptoKitty?*

Это связано с тем, что чтение этих данных напрямую поддерживается методами [`balanceOf`](https://github.com/dapperlabs/cryptokitties-bounty/blob/master/contracts/KittyOwnership.sol#L64) и [`getKitty`](https://github.com/dapperlabs/cryptokitties-bounty/blob/master/contracts/KittyCore.sol#L91), предоставляемым [контрактом](https://github.com/dapperlabs/cryptokitties-bounty/blob/master/contracts/KittyCore.sol).

Однако, на другие вопросы ответить сложнее:

> *Кто являются владельцами CryptoKitties, рожденных в период с января по февраль 2018 года?*

Чтобы ответить на этот вопрос, вы должны обработать все [`Birth`события,](https://github.com/dapperlabs/cryptokitties-bounty/blob/master/contracts/KittyBase.sol#L15) а затем вызвать [`ownerOf`метод](https://github.com/dapperlabs/cryptokitties-bounty/blob/master/contracts/KittyOwnership.sol#L144) для каждого созданного CryptoKitty.

Даже на этот относительно простой вопрос децентрализованному приложению (dApp), работающему в браузере, потребуются часы или даже дни, чтобы получить ответ. Индексировать данные блокчейна сложно. Свойства блокчейна, такие как finality, chain reorganizations или uncled blocks еще больше усложняют этот процесс и делают не только трудоемким, но и концептуально сложным получение правильных результатов запроса из блокчейна.

Сегодня Graph решает эту проблему с помощью сервиса, который индексирует данные блокчейна. Затем эти индексы («подграфы») можно запросить с помощью стандартного API GraphQL. В будущем размещенный сервис превратится в полностью децентрализованный протокол с теми же возможностями. Оба они поддерживаются реализацией [Graph Node](https://github.com/graphprotocol/graph-node) с открытым исходным кодом.

Если для вас это объяснение было непонятным, прочитайте небольшую статью "[Простыми словами о The Graph](https://thegraph.gitbook.io/ru/prostymi-slovami-o-the-graph)".

![](/files/-MIQ310qaKzJ2joLBt_y)

Более подробно с техническими аспектами можно ознакомиться в [официальной документации](https://thegraph.com/docs/introduction#what-the-graph-is). В следующих материалах мы более подробно разберем структуру The Graph, постараясь не вдаваться сильно в технические моменты.

### Ссылки

Сайт: <https://thegraph.com/>

Github: <https://github.com/graphprotocol>

Discord: <https://discord.gg/vtvv7FP>

Telegram: <http://t.me/graphprotocol>

Twitter: <https://twitter.com/graphprotocol>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://thegraph.gitbook.io/ru/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
