Naucz się oceniać Subgraphs jako profesjonalnego kuratora

Taras
4 min readNov 21, 2020

Ten artykuł jest przeznaczony dla osób już zaznajomionych z protokołem The Graph . Będzie on najbardziej interesujący dla kuratorów Subgraphów, którzy chcą poznać pierwsze kroki wymagane do oceny Subgraph. W poniższych akapitach przedstawię prosty algorytm oceniania Subgraph. Należy pamiętać, że celem tego artykułu nie jest dostarczenie gotowego rozwiązania, ale raczej punkt wyjścia do opracowania własnego podejścia do analizy podgrafów. Zakładam również, że czytelnik ma już podstawową wiedzę na temat działania Podgrafu. Jeśli jesteś początkującym, proponuję najpierw przeczytać dokumentację The Graph, a następnie wrócić do tego samouczka.

Punkt startowy

First Sun to najpierw musisz znaleźć stronę Sabgrafa, którą ocenisz. Najłatwiej to zrobić, wprowadzając następujący link do paska adresu przeglądarki: https://thegraph.com/explorer/subgraph/ [ subgraph_name]. Zastąp [subgraph_name] nazwą podgrafu, który Cię interesuje. Jeśli nie masz konkretnych preferencji co do tego, co chcesz analizować, możesz znaleźć coś, co Cię interesuje w Eksploratorze wykresów .

Jako przykład parsowania w tym artykule wybrałem następujący podgraf: https://thegraph.com/explorer/subgraph/ianlapham/tokenholder

Po pierwsze, gdy tylko znajdziesz się na stronie Subgraph, spójrz na jej opis. Czy dobrze odzwierciedla to, jakie dane dostarcza podgraf? Następnie sprawdź, czy Subgraph ma konto Github. Jeśli masz konto, otwórz je i poszukaj pliku README. Wewnątrz tego pliku możesz również przeczytać opis Podgrafu.

Następnie możesz użyć The Explorer Playground do interakcji z danymi analizowanego podgrafu. Sprawdź, jakie typy wniosków są możliwe i jakie dane możesz uzyskać.

Uzyskanie szczegółowego zrozumienia tego, co robi Podgraf

Następnym krokiem będzie wyświetlenie manifestu Subgraph. Manifest zawiera informacje o tym, które kontrakty są analizowane przez podgraf i jakie zdarzenia w nich śledzi.

  1. przejdź do https://ipfs.io/ipfs/ [ID] i zamień [ID] na „ID” Subgraph, który analizujesz (te informacje można znaleźć na stronie Subgraph w Eksploratorze wykresów.
  2. Znajdź kontrakty analizowane przez podgraf. Aby to zrobić, spójrz na następujące wiersze kodu w manifeście: dataSources => mapping => source. Skopiuj adres umowy ze źródła, przejdź do Etherscan i znajdź tę umowę. Zobacz, do jakiego projektu należy i jakie transakcje w nim mają miejsce. Zwróć uwagę, że Podgraf, który analizujesz, może zawierać kilka kontraktów. W takim przypadku sprawdź każdą z umów przedstawionych w manifeście.

Uwaga: plik manifestu można również znaleźć na stronie Subgraph Github pod „subgraph.yaml” i porównać go z danymi uzyskanymi z https://ipfs.io . Te dane muszą być takie same. Następnie możesz również zajrzeć do pliku „schema.graphql”, aby zobaczyć, jakie typy danych są tam określone. Te określone typy definiują strukturę danych, które można wyszukiwać i pobierać w obszarze zabaw eksploratora w podgrafie.

Jeśli rozumiesz język programowania Solidity, możesz również przeanalizować kontrakt Etherscan, aby zobaczyć, jakie funkcje i jakie dane są w nim wywoływane.

Na tym etapie powinieneś już mieć pojęcie o tym, co robi analizowany podgraf i czy jest on gotowy do użycia.

Odkrywanie, jak działa podgraf

W tym kroku dowiesz się, jakie zdarzenia obserwuje Subgraph i jakich funkcji obsługi używa do pobierania danych.

Informacje o tym, jakie zdarzenia kontraktowe obserwuje analizowany Podgraf, można znaleźć przeglądając plik manifestu (subgraph.yaml) w następujących wierszach kodu: dataSources => mapping => eventHandlers => event. Ta sekcja wskaże funkcje, które wywołuje kontrakt Ethereum. Kiedy to zdarzenie zostanie zaimplementowane, Subgraph zrobi notatkę i wywoła własną funkcję obsługi, która jest zdefiniowana w jego manifeście w następujących wierszach kodu: dataSources => mapping => eventHandlers => handler.

Następnie otwórz ABI dla kontraktów zdefiniowanych w manifeście przeanalizowanego podgrafu. (Zauważ, że ABI to lista JSON funkcji kontraktu i argumentów). ABI można znaleźć w GitHubie analizowanego podgrafu (w folderze „abis”) lub pod adresem umowy na etherscan w zakładce „Kontrakt”. Przejrzyj pola „nazwa”, aby zobaczyć, jakie funkcje znajdują się w ABI — w rzeczywistości są to interesujące nas zdarzenia, a ich nazwy są zwykle tak pouczające, że po nazwie można zrozumieć, co wykonuje ta funkcja. Zwróć szczególną uwagę na nazwy funkcji, które odpowiadają funkcjom obsługi zdarzeń w manifeście przeanalizowanego Subgraph. Zwróć także uwagę, jakie argumenty przyjmują te funkcje.

Na koniec przejdź do plików „mapowania” na koncie github przeanalizowanego podgrafu (ścieżka: / src / mappings /) i znajdź tam nazwy funkcji, które pasują do nazw funkcji obsługi w sekcji „eventHandlers” przeanalizowanego manifestu Subgraph. Spróbuj zrozumieć, jaki typ danych wyodrębnia ta funkcja obsługi podgrafu.

Ocena podgrafu

Na tym etapie powinieneś już dobrze rozumieć, jakie zdarzenia Subgraph wyodrębnia z kontraktu i jakie dane z tych zdarzeń przechwytuje. Czas pomyśleć o tym, czego już doszedłeś w trakcie tej analizy. Oceń podgraf i zadaj sobie następujące pytania:
- Jakie zmiany wprowadziłbyś w „schemacie”, w tym dodając lub zmieniając obiekty, pola, typy pól, interakcje danych lub inne ulepszenia?
- Czy są już inne podgrafy, które robią podobne rzeczy? Przeprowadzić charakterystykę porównawczą analizowanego Podgrafu i podobnego celu Podgrafy
- Określić stopień kompletności, złożoności i dokładności realizacji analizowanego Podgrafu.
- Czy dane z analizowanego Podgrafu są przydatne?
- Czy istnieje sposób na ulepszenie danych dostarczanych przez Subgraf?

Ulepszanie podgrafu

Po przeanalizowaniu powyższego podgrafu zastanów się, co można by poprawić. Przejrzyj istniejące obiekty w pliku schema.graphql i zastanów się, jakie inne dane warto byłoby do nich dodać
, a następnie ponownie przejrzyj ABI i na podstawie nazw funkcji zastanów się, jakie inne zdarzenia mogą być monitorowane i jakie dane możemy wyodrębnić im.
Zapisz wszystkie swoje pomysły na ulepszenie analizowanego Podgrafu, ponieważ to przyszłe punkty dla jej dalszego rozwoju.

Gratulacje, Mistrz wykresów!

Okej, może Czytelnik nie jest jeszcze mistrzem. Ale powyższe kroki powinny dać ci bardzo dobry punkt wyjścia do oceny podgrafów.
Chciałbym również udzielić jednej dodatkowej rady: od początku zacznij analizować małe i nieskomplikowane podgrafy zwykle nie zawierają zbyt wielu informacji i są łatwiejsze do zrozumienia. Gdy jesteś pewien ogólnej struktury i implementacji podgrafów, możesz przejść do bardziej złożonych. Powodzenia!

Notatka tłumacza

Oryginalny artykuł został opublikowany na Discord The Graph przez kuratora ade4u. link do oryginału: https://cjmoro.medium.com/learn-how-to-evaluate-the-graph-subgraphs-like-a-pro-curator-7f2076918372

--

--