Оценка сабграфа на примере ENS

Ivan Staker
4 min readNov 19, 2020

--

Научитесь оценивать сабграфы

Данная статья посвящена разбору и оценке сабграфа. Мы разберем на одном примере процесс изучения сабграфа, включая его страницу на Graph Explorer, манифест, а также контракты и информацию, с которыми он взаимодействует. Приведенная информация будет полезна как участникам программы кураторов (Graph Curators), так и другим пользователям.

Начало

Первым делом необходимо найти ваш сабграф в Graph Explorer. Для этого необходимо перейти на https://thegraph.com/explorer/subgraph/[subgraph_name], где [subgraph_name] — ваш сабграф. В качестве примера будет использовать ENS, имя сабграфа — ensdomains/ens

На странице сабграфа можно увидеть статус синхронизации, дату последнего обновления сабграфа, дату его создания и количество обращений (entities). По последнему числу мы можем судить о том, что данный сабграф используется достаточно часто. Далее мы видим Github проекта, его ID и ссылку на API-запросы. Вся эта информация понадобится нам далее для оценки сабграфа.

Оцените, как описан проект? Дает ли эта информация понимание того, что делает сабграф? Перейдя по ссылке на гитхаб, найдите и изучите файлы README.md и subgraph.yaml — в них можно найти полезную информацию. Если у проекта отсутствует Github, то, вероятно, придется изучать только манифест и только пытаться догадаться, что делает данный сабграф. Обратите внимание, что вышеупомянутый файл subgraph.yaml также является “манифестом” и его код должен полностью совпадать с манифестом на https://ipfs.io

Не лишним также будет изучить сайт проекта, чтобы понять его суть.

Чуть ниже в Graph Explorer мы видим так называемую “Playground”, здесь можно непосредственно посмотреть, какие переменные использует сабграф и какие результаты выдает. Во вкладке “”Logs” можно посмотреть логи сабграфа и оценить его работоспособность.

Для того, чтобы получить более детальное представление о том, что делает сабграф, необходимо отправиться на https://ipfs.io/ipfs/[ID], где [ID] — это ID проекта из Graph Explorer. В нашем случае это QmaibP61e3a4r6Bp895FQFB6ohqt5gMK4yeNy6yXxBmi8N.

Перейдя по полученной ссылке, мы увидим “манифест” сабграфа. Здесь мы можем увидеть, какие события и данные отслеживает контракт. Для данного сабграфа мы можем увидеть, что, к примеру, он отслеживает контракт 0x314159265dd8dbb310642f98f50c066173c1259b.

Можно сделать вывод, что из этого контракта отслеживает определенные перечень событий

- AddrChanged
- MulticoinAddrChanged
- NameChanged
- AbiChanged
- PubkeyChanged
- Textchanged
- ContenthashChanged
- InterfaceChanged
- AuthorisationChanged

Мы можем найти этот контракт на etherscan.io и посмотреть, активен ли он. На вкладке “Contract” можно детально изучить, какие функции выполняет контракт, если у вас есть достаточные навыки чтения кода.

Оценка сабграфа ENS и ответы на вопросы и формы для Graph Curators

Что делает сабграф?

Данный сабграф отслеживает события регистрации и изменения данных о доменных именах в сети Ethereum. Сущности для отслеживания включают: регистр доменных имен, регистр аукциона и другие переменные, связанные с доменами.

Выглядит ли сабграф как рабочий продукт?

Данный сабграф синхронизирован, обладает большим количеством запросов и актуальным Github. Он позволяет получать данные из блокчейна в рамках определенных контрактов.

Может ли данный сабграф быть полезен другим проектам?

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

Какие изменения вы бы могли предложить?

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

Существуют ли похожие сабграфы?

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

В последнем вопросе необходимо дать цельную характеристику сабграфу. Что касается ENS — перед нами образцовый сабграф, который задействован в рабочем проекте. Он может быть использован другими разработчиками. Оценка — пять звезд.

--

--

Ivan Staker

Professional validator, taking part in major testnets and running mainnets.