Przejdź do treści
Słownikpodstawyethereumanalityka

Indeksowanie

Indeksowanie, po angielsku indexing, to offchainowy proces czytania danych z blockchaina, organizowania ich w strukturach zapytań i udostępniania aplikacjom.

Czym jest indeksowanie

Blockchain jest dobry w konsensusie i weryfikacji, ale nie jest wygodną bazą danych do złożonych zapytań historycznych.

Indekser czyta bloki, transakcje i eventy, a potem zapisuje wybrane informacje w bazie zoptymalizowanej pod szybkie zapytania.

Dzięki temu portfel może szybko pokazać historię transakcji, dashboard DeFi może policzyć pozycję, a explorer może wyszukać aktywność adresu.

Co umożliwia indeksowanie

Historia portfela
Lista transferów, swapów, NFT i interakcji z dappami.
Dashboard DeFi
Wycena pozycji, LP, długu, collateral i nagród.
Analityka protokołu
Wolumen, opłaty, liczba użytkowników, TVL i zdarzenia kontraktów.
Subgraph
Schemat indeksowania danych używany m.in. przez The Graph.
Explorer
Czytelny interfejs do przeglądania danych, które surowo są trudne do analizowania.

Dlaczego samo RPC nie wystarcza

RPC dobrze sprawdza się przy prostych odczytach bieżącego stanu, takich jak saldo albo wynik eth_call.

Pytanie typu „pokaż wszystkie swapy tego poola z ostatnich 7 dni” wymaga przetworzenia dużej ilości historii. Node nie działa jak relacyjna baza danych z gotowymi zapytaniami.

Indekser przygotowuje dane wcześniej, więc aplikacja nie musi skanować całego łańcucha na żądanie użytkownika.

Najczęstsze błędne założenia

  • Dane z indexera nie są tym samym co kanoniczny stan łańcucha.
  • Bug w logice indeksowania może pokazać błędną historię albo błędną pozycję.
  • Opóźniony indexer może sprawić, że dashboard wygląda na nieaktualny.
  • Eventy smart kontraktów są praktycznym API historii, ale muszą być poprawnie zaprojektowane.
  • Krytyczne aplikacje powinny weryfikować ważne dane z onchainowym stanem.

Indexer tłumaczy blockchain na dane dla aplikacji

Indeksowanie sprawia, że portfele, dashboardy i explorery działają szybko. Źle działający indexer może jednak pokazywać opóźnione albo błędne dane.

Najczęstsze pytania

Zwykle nie. To infrastruktura offchain, która czyta blockchain i przygotowuje dane dla aplikacji.

The Graph jest protokołem indeksowania. Deweloperzy tworzą subgraphy, a indexerzy przetwarzają i udostępniają dane.

Tak. Powodem może być opóźnienie indexera, błąd transformacji danych albo problem z obsługą reorganizacji.