Table of Contents
Dune Analytics je analytická platforma zameraná na Ethereum, ktorá poskytuje sieťové údaje v použiteľnejšom formáte.
Dune je našťastie kompatibilný so štandardným dotazovacím jazykom PostgreSQL. Aj keď ste nikdy predtým nepísali jazyk SQL, jeho používanie je dostatočne jednoduché. Najužitočnejším miestom, kde začať, sú informačné panely a dotazy vytvorené inými, pretože často obsahujú viac informácií ako váš vlastný kód.
Aký je rozdiel medzi tokenom a dunajom? Žiadny nie je.
S bitcoinom a inými kryptomenami sa už dlho spája pojem anonymity a súkromia. Pôvodná biela kniha z roku 2008, ktorá predstavila technológiu blockchain prostredníctvom bitcoinu, propagovala koncept technologickej neviditeľnosti.
Dune Analytics je výkonný výskumný nástroj pre technológiu blockchain. Umožňuje vyhľadávať, získavať a vizualizovať obrovské množstvo údajov z blockchainu Ethereum. Tento článok ukazuje, ako vykonávať základné vyhľadávanie a písať jednoduché dotazy s cieľom vytvárať grafy. Možnosti objavovania sú neobmedzené.
Všetky informácie možno nájsť vo verejných blockchainoch, ako je Ethereum. Stačí ich len hľadať. Zatiaľ by bolo pravdepodobne potrebné odpovedať na otázky, ako je počet používateľov projektu alebo denný objem DEX prostredníctvom špecializovaného programu. Spustenie skriptu bude znamenať prejsť bloky, vyhodnotiť údaje, správne ich zoradiť a extrahovať odpoveď na otázku.
Dune Analytics tento proces zjednodušuje tým, že umožňuje písať dotazy SQL, ktoré sa automaticky vykonávajú na ich serveroch. Údaje sa potom ľahko vizualizujú v grafoch, čo výrazne zjednodušuje vyhľadávanie zaujímavých poznatkov.
Extrahovanie 100 projektov z rozsiahleho súboru údajov je náročné a zdĺhavé. Takéto skripty budú pravdepodobne schopné extrahovať informácie o jednom konkrétnom projekte, ale ak sa majú použiť globálne, môžu si vyžadovať značné úpravy.
Spustenie všetkých etáp dohromady navyše zaberá čas, pretože si vyžaduje buď celý uzol, alebo množstvo jednotlivých dotazov na verejné uzly. Dune Analytics rieši tento problém tým, že umožňuje použiť jediný dotaz, ktorý sa automaticky spustí na ich serveroch.
Na pomoc prichádza spoločnosť Dune Analytics
Dune Analytics je nástroj, ktorý umožňuje jednoducho získavať údaje z Etherea. Ide o webovú platformu, ktorá umožňuje vyhľadávať údaje z Etherea pomocou vopred vytvorených databáz, čo výrazne uľahčuje získavanie informácií z blockchainu.
Tento kurz vás naučí vyhľadávať, písať a vizualizovať základné dotazy v Dune tak, aby ste sa z nuly stali expertom na blockchain za pár minút. Aj keď ste nikdy predtým nepísali SQL, postačí vám niekoľko jednoduchých príkladov.
Ako funguje analytika Dune?
Dune analytics zjednocuje surové údaje z blockchainu do databáz SQL, ktoré možno ľahko preskúmať. K dispozícii je napríklad tabuľka na preskúmanie všetkých transakcií Etherea, ktoré sú prehľadne rozdelené do stĺpcov. Príkladom stĺpcov sú odosielateľ, príjemca a suma.
Údaje z blokov sa po niekoľkých minútach spracujú a vložia do databázy Dune. Dune okrem nespracovaných blokov a transakcií obsahuje aj informácie o cene aktív a špecializované tabuľky, napríklad všetky zodpovedajúce adresy pre token UNI.
Poďme sa posunúť o krok ďalej a naučme sa, ako používať Dune bez písania kódu, ako aj niektoré základy jazyka SQL.
Prevezmite iniciatívu a začnite pracovať s Dune Analytics.
Po otvorení účtu bude domovská stránka vyzerať takto:
Ako prvé sa zobrazí zoznam všetkých dostupných databáz. V súčasnosti Dune podporuje štyri:
- Bloky Etherea
- Transakcie Ethereum
- Uniswap V21 Udalosti
- Obchodné udalosti siete Kyber Network Proxy
Každú databázu si môžete predstaviť ako tabuľku SQL. Aby ste mohli začať písať dotazy, musíte najprv vybrať databázu. Na účely tohto návodu budeme používať databázu Ethereum Transactions.
Po výbere databázy sa zobrazí nástroj na vytváranie dotazov. Tvorca dotazov je miesto, kde píšete svoje dotazy SQL. Tvorcu dotazov môžete použiť aj na vizualizáciu údajov bez písania kódu SQL.
Vľavo od nástroja na vytváranie dotazov sa zobrazí zoznam všetkých dostupných stĺpcov v databáze. Tieto stĺpce môžete použiť na filtrovanie údajov, ako aj na zoskupovanie a triedenie údajov.
Na pravej strane nástroja na vytváranie dotazov sa zobrazia výsledky vášho dotazu. V predvolenom nastavení vám Dune zobrazí prvých 100 výsledkov vášho dotazu.
Ak chcete vidieť viac výsledkov, môžete kliknúť na tlačidlo “Stiahnuť”. Tým sa stiahnu všetky výsledky vášho dotazu ako súbor CSV.
Kliknutím na tlačidlo “Vizualizovať” môžete svoje údaje aj vizualizovať. Dune podporuje dva typy vizualizácií: čiarové grafy a stĺpcové grafy.
Čiarové grafy sú najlepšie pre údaje, ktoré sú spojité, ako napríklad ceny alebo objemy. Stĺpcové grafy sú najlepšie pre údaje, ktoré sú diskrétne, napríklad počty alebo kategórie.
Po výbere vizualizácie môžete pomocou možností vpravo prispôsobiť graf. Môžete napríklad zmeniť os x a os y, ako aj farbu a názov grafu.
Keď ste so svojou vizualizáciou spokojní, môžete ju kliknutím na tlačidlo “Uložiť” uložiť.
Teraz, keď už poznáte základy fungovania Dune, naučme sa písať dotazy SQL.
Písanie dotazov SQL
SQL je programovací jazyk
Dotazy
Informačné panely Dune a dotazy od iných používateľov Dune sú dobrým miestom na začatie vyhľadávania údajov špecifických pre projekt, ale existujúce vyhľadávania nemusia stačiť na zodpovedanie akejkoľvek vašej otázky. Ak nemôžete nájsť to, čo hľadáte, je čas napísať vlastné dotazy SQL.
Skôr ako začneme písať dotazy, je dôležité pochopiť štruktúru databázy. V Dune je každá databáza rozdelená na tabuľky. Každá tabuľka má názov a súbor stĺpcov.
Napríklad databáza Ethereum Transactions má tabuľku s názvom “transactions”. Táto tabuľka má stĺpce pre odosielateľa, príjemcu a sumu každej transakcie.
Na výber údajov z tabuľky používame príkaz SELECT. Ak chceme napríklad vybrať všetky transakcie v databáze Ethereum Transactions, napíšeme nasledujúci dotaz:
SELECT * FROM transakcie
Hviezdička (*) je zástupný znak, ktorý znamená “všetko”. Tento dotaz teda hovorí “VYBER všetky stĺpce Z tabuľky transakcií.”
Ak chceme vybrať len niektoré stĺpce, môžeme namiesto hviezdičky uviesť názvy stĺpcov. Ak chceme napríklad vybrať iba odosielateľa, príjemcu a sumu každej transakcie, napíšeme nasledujúci dotaz:
SELECT odosielateľ, príjemca, suma FROM transakcie
Na filtrovanie údajov môžeme použiť aj príkaz WHERE. Ak napríklad chceme vidieť len transakcie s hodnotou vyššou ako 100 ETH, napíšeme nasledujúci dotaz:
SELECT * FROM transakcie WHERE hodnota > 1000000000000000000
Znak väčší ako (>) znamená “väčší ako”. Tento dotaz teda hovorí “VYBER všetky stĺpce Z tabuľky transakcií, KDE je hodnota väčšia ako 100 ETH.”
Na zoradenie údajov môžeme použiť aj príkaz ORDER BY. Ak chceme napríklad najprv zobraziť transakcie s najvyššími hodnotami, napíšeme nasledujúci dotaz:
Na čo sa používa služba Dune Analytics?
SELECT * FROM transakcie ORDER BY value DESC
Príkaz ORDER BY zoradí údaje vzostupne alebo zostupne. Predvolené je vzostupné, ale môžeme použiť kľúčové slovo DESC na zoradenie zostupne. Tento dotaz teda hovorí “VYBER všetky stĺpce Z tabuľky transakcií ZORADI podľa hodnoty zostupne”.
Nakoniec môžeme použiť príkaz LIMIT na obmedzenie počtu výsledkov. Ak napríklad chceme vidieť len prvých 100 výsledkov, napíšeme nasledujúci dotaz:
SELECT * FROM transakcie LIMIT 100
Tento dotaz hovorí “VYBER všetky stĺpce Z tabuľky transakcií LIMIT 100.”
Teraz, keď už viete, ako písať dotazy SQL, naučme sa ich používať v Dune.
Používanie dotazov SQL v Dune
Ak chcete v Dune použiť dotaz SQL, najprv otvorte nástroj Query Builder. Potom zadajte svoj dotaz do textového poľa a kliknite na tlačidlo “Spustiť dotaz”.
Ak je váš dotaz správny, zobrazia sa výsledky v nasledujúcej tabuľke. Potom môžete kliknúť na položku “Visual
ize” na vizualizáciu údajov.
Ak chcete svoj dotaz uložiť, môžete kliknúť na tlačidlo “Uložiť”. Tým sa váš dotaz uloží, aby ste k nemu mali prístup neskôr.
Teraz, keď už poznáte základy fungovania Dune, ste pripravení začať ho používať na skúmanie dát Etherea!
Dotazy, ktoré sú trochu zložitejšie
Spoločnosť Dune Analytics ponúka aj platenú službu.
Teraz, keď už poznáte základy písania dotazov SQL, naučme sa písať trochu zložitejšie dotazy.
SELECT * FROM transakcie
WHERE hodnota > 1000000000000000000
AND to_address = ‘0x315e27aA99F682924Ae21CfD2281c682bC16E790'
Tento dotaz hovorí “VYBER všetky stĺpce Z tabuľky transakcií, KDE je hodnota väčšia ako 100 ETH A adresa to_address je 0x315e27aA99F682924Ae21CfD2281c682bC16E790.”
Ak chcete zistiť viac informácií o konkrétnej adrese, môžete použiť tabuľku “Adresa”.
SELECT * FROM adresy
WHERE address = ‘0x315e27aA99F682924Ae21CfD2281c682bC16E790'
Tento dotaz hovorí “VYBER všetky stĺpce Z tabuľky adries, KDE je adresa 0x315e27aA99F682924Ae21CfD2281c682bC16E790.”
Na získanie ďalších informácií o konkrétnom bloku môžete použiť aj tabuľku “Bloky”.
SELECT * FROM bloky
WHERE číslo = ‘8943592'
Tento dotaz hovorí “VYBER všetky stĺpce Z tabuľky blokov, KDE je číslo ‘8943592'.”
Vizualizácia údajov
Po získaní údajov ich môžete vizualizovať rôznymi spôsobmi. Dune ponúka niekoľko rôznych typov vizualizácie: čiarové grafy, stĺpcové grafy a kruhové grafy.
Ak chcete vytvoriť vizualizáciu, najprv vyberte typ vizualizácie, ktorú chcete vytvoriť. Potom vyberte údaje, ktoré chcete vizualizovať.
Ak by sme napríklad chceli vytvoriť čiarový graf hodnoty všetkých transakcií, vybrali by sme typ vizualizácie “Čiarový graf” a údaje “Hodnota”.
Po výbere údajov môžete kliknutím na tlačidlo “Vizualizovať” vytvoriť vizualizáciu.
Tlačidlo “Query” môžete použiť aj na úpravu dotazu alebo tlačidlo “Save” na uloženie dotazu.
Obmedzenia
- Dune je výkonný nástroj, ale má svoje obmedzenia. Po prvé, Dune podporuje iba databázy SQLite. To znamená, že Dune môžete používať len s údajmi Etherea, ktoré boli exportované do databázy SQLite.
- Po druhé, Dune podporuje len obmedzený súbor príkazov SQL. To znamená, že v Dune nemôžete robiť všetko, čo v SQL. Dune však podporuje najpoužívanejšie príkazy SQL.
- Dune napokon nedokáže vizualizovať všetky typy údajov. To znamená, že nemusíte byť schopní vizualizovať všetky údaje, na ktoré sa pýtate.
Čo ďalej?
Teraz, keď už poznáte základy fungovania Dune, ste pripravení začať ho používať na skúmanie údajov Etherea! V nasledujúcej časti sa naučíme, ako exportovať údaje Ethereum do databázy SQLite, aby ste mohli Dune používať s vlastnými údajmi. Zostaňte naladení!
Exportovanie údajov Etherea do databázy SQLite
Prvým krokom pri používaní Dune je export údajov Etherea do databázy SQLite. Na tento účel budete potrebovať nástroj, ktorý dokáže exportovať údaje Ethereum do SQLite.
Na tento účel môžete použiť niekoľko rôznych nástrojov, ale odporúčame použiť exportér SQLite od spoločnosti Parity. Parity's SQLite exporter je nástroj, ktorý dokáže exportovať údaje Etherea do databázy SQLite.
Ak chcete používať exportér SQLite od spoločnosti Parity, musíte si ho najprv stiahnuť a nainštalovať. Návod, ako to urobiť, nájdete v časti “Exportovanie údajov Ethereum” v dokumentácii Parity.
Keď máte nainštalovaný exportér SQLite od Parity, môžete ho použiť na export údajov Etherea. Na tento účel musíte zadať umiestnenie svojich údajov Ethereum a umiestnenie svojej databázy SQLite.
Pokyny na tento postup nájdete v časti “Exportovanie údajov” v dokumentácii k programu Parity.
Keď máte svoje údaje o Ethereum exportované do databázy SQLite, môžete začať používať Dune! V ďalšej časti sa naučíme, ako písať dotazy v Dune. Zostaňte naladení!
Písanie dotazov v Dune
Teraz, keď máte svoje dáta Etherea exportované do databázy SQLite, ste pripravení začať používať Dune! V tejto časti sa naučíme, ako písať dotazy v Dune.
Dune používa na vyhľadávanie údajov špeciálny jazyk SQLite Query Language (SQLiteQL). Jazyk SQLiteQL je podobný jazyku SQL, ktorý možno poznáte, ale má niekoľko dôležitých rozdielov.
- Prvým rozdielom je, že SQLiteQL rozlišuje veľké a malé písmená. To znamená, že pri písaní dotazov si musíte dávať pozor na používanie správnych veľkých a malých písmen.
- Druhým rozdielom je, že SQLiteQL používa inú syntax pre komentáre. V jazyku SQL sa komentáre označujú znakom – na začiatku riadku. V SQLiteQL sa komentáre označujú znakom /* na začiatku riadku a znakom */ na konci riadku.
- Tretím rozdielom je, že SQLiteQL používa inú syntax pre reťazce. V jazyku SQL sa reťazce označujú jednoduchými úvodzovkami. V SQLiteQL sa reťazce označujú dvojitými úvodzovkami.
Teraz, keď už poznáte základy písania dotazov v jazyku SQLiteQL, skúsme napísať niekoľko dotazov!