Dune Analytics je analytická platforma zaměřená na Ethereum, která poskytuje síťová data v použitelnějším formátu.
Dune je naštěstí kompatibilní se standardním dotazovacím jazykem PostgreSQL. I když jste nikdy předtím nepsali jazyk SQL, jeho použití je dostatečně jednoduché. Nejužitečnějším místem pro začátek jsou ovládací panely a dotazy vytvořené jinými uživateli, protože často obsahují více informací než váš vlastní kód.
Jaký je rozdíl mezi tokenem a dunou? Žádný není.
S bitcoinem a dalšími kryptoměnami je již dlouho spojen pojem anonymity a soukromí. Původní bílá kniha z roku 2008, která představila technologii blockchain prostřednictvím bitcoinu, propagovala koncept technologické neviditelnosti.
Dune Analytics je výkonný výzkumný nástroj pro technologii blockchain. Umožňuje vyhledávat, získávat a vizualizovat obrovské množství dat z blockchainu Ethereum. Tento článek ukazuje, jak provádět základní vyhledávání a psát jednoduché dotazy za účelem vytváření grafů. Možnosti objevování jsou neomezené.
Všechny informace lze nalézt ve veřejných blockchainech, jako je Ethereum. Stačí je jen hledat. Zatím by bylo nejspíše nutné zodpovědět otázky, jako je počet uživatelů projektu nebo denní objem DEXu, prostřednictvím specializovaného programu. Spuštění skriptu bude znamenat projití bloků, vyhodnocení dat, jejich správné seřazení a extrakci odpovědi na otázku.
Dune Analytics tento proces zjednodušuje tím, že umožňuje psát dotazy SQL, které se automaticky provádějí na jejich serverech. Data se pak snadno vizualizují v grafech, což výrazně usnadňuje hledání zajímavých poznatků.
Extrakce 100 projektů z rozsáhlého souboru dat je obtížná a časově náročná. Takové skripty budou pravděpodobně schopny extrahovat informace o jednom konkrétním projektu, ale mohou vyžadovat značné úpravy, pokud mají být použity globálně.
Spuštění všech fází dohromady navíc zabere čas, protože vyžaduje buď celý uzel, nebo mnoho jednotlivých dotazů na veřejné uzly. Dune Analytics tento problém řeší tím, že umožňuje použít jediný dotaz, který se automaticky spouští na jejich serverech.
Na pomoc přichází Dune Analytics
Dune Analytics je nástroj, který umožňuje snadno získávat data z Etherea. Jedná se o webovou platformu, která umožňuje dotazovat se na data Etherea pomocí předem vytvořených databází, což výrazně usnadňuje získávání informací z blockchainu.
Tento kurz vás naučí vyhledávat, psát a vizualizovat základní dotazy v Dune tak, abyste se z nuly stali expertem na blockchain během několika minut. I když jste nikdy předtím SQL nepsali, postačí vám několik jednoduchých příkladů.
Jak funguje analytika Dune?
Dune analytics sjednocuje surová data z blockchainu do databází SQL, které lze snadno zkoumat. K dispozici je například tabulka pro zkoumání všech transakcí Etherea, které jsou přehledně rozděleny do sloupců. Příkladem sloupců jsou odesílatel, příjemce a částka.
Má služba dune Analytics rozhraní API?
Data z bloků jsou zpracována a po několika minutách vložena do databáze Dune. Dune kromě nezpracovaných bloků a transakcí obsahuje také informace o ceně aktiv a specializované tabulky, jako jsou všechny odpovídající adresy pro token UNI.
Pojďme se posunout o krok dál a naučit se používat Dune bez psaní kódu a také některé základy SQL.
Převezměte iniciativu a začněte s Dune Analytics.
Po otevření účtu bude domovská stránka vypadat následovně:
Nejprve se zobrazí seznam všech dostupných databází. V současné době Dune podporuje čtyři:
- Bloky Etherea
- Transakce Ethereum
- Uniswap V21 Události
- Obchodní události sítě Kyber Network Proxy
Každou databázi si můžete představit jako tabulku SQL. Abyste mohli začít psát dotazy, musíte nejprve vybrat databázi. Pro účely tohoto návodu budeme používat databázi Ethereum Transactions.
Po výběru databáze se zobrazí nástroj pro tvorbu dotazů. V nástroji pro sestavení dotazů se zapisují dotazy SQL. Pomocí nástroje pro sestavování dotazů můžete také vizualizovat data, aniž byste museli psát kód SQL.
Vlevo od nástroje pro sestavení dotazu se zobrazí seznam všech dostupných sloupců v databázi. Tyto sloupce můžete použít k filtrování dat a také k jejich seskupování a třídění.
Na pravé straně nástroje pro sestavení dotazu se zobrazí výsledky dotazu. Ve výchozím nastavení vám Dune zobrazí prvních 100 výsledků vašeho dotazu.
Pokud chcete zobrazit více výsledků, můžete kliknout na tlačítko “Stáhnout”. Tím stáhnete všechny výsledky dotazu jako soubor CSV.
Odkud společnost dune Analytics získává data?
Kliknutím na tlačítko “Vizualizovat” můžete data také vizualizovat. Dune podporuje dva typy vizualizací: čárové a sloupcové grafy.
Čárové grafy jsou nejvhodnější pro data, která jsou spojitá, například ceny nebo objemy. Sloupcové grafy jsou nejlepší pro diskrétní data, jako jsou počty nebo kategorie.
Po výběru vizualizace můžete graf upravit pomocí možností vpravo. Můžete například změnit osu x a osu y a také barvu a název grafu.
Jakmile budete se svou vizualizací spokojeni, můžete ji kliknutím na tlačítko “Uložit” uložit.
Nyní, když znáte základy fungování systému Dune, se naučíme psát dotazy SQL.
Psaní dotazů SQL
SQL je programovací jazyk
Dotazy
Dashboardy Dune a dotazy ostatních uživatelů Dune jsou dobrým místem, kde můžete začít hledat data týkající se konkrétního projektu, ale existující vyhledávání nemusí stačit k zodpovězení jakékoli vaší otázky. Pokud nemůžete najít to, co hledáte, je čas napsat vlastní dotazy SQL.
Než začneme psát dotazy, je důležité pochopit strukturu databáze. V Dune je každá databáze rozdělena do tabulek. Každá tabulka má název a sadu sloupců.
Například databáze Ethereum Transactions má tabulku nazvanou “transakce”. Tato tabulka obsahuje sloupce pro odesílatele, příjemce a částku každé transakce.
Pro výběr dat z tabulky používáme příkaz SELECT. Chceme-li například vybrat všechny transakce v databázi Ethereum Transactions, napíšeme následující dotaz:
SELECT * FROM transakce
Hvězdička (*) je zástupný znak, který znamená “vše”. Tento dotaz tedy říká “SELECT all of the columns FROM the transactions table”.
Pokud chceme vybrat pouze určité sloupce, můžeme místo hvězdičky vypsat jejich názvy. Chceme-li například vybrat pouze odesílatele, příjemce a částku každé transakce, napíšeme následující dotaz:
SELECT odesílatel, příjemce, částka FROM transakce
K filtrování dat můžeme použít také příkaz WHERE. Pokud například chceme zobrazit pouze transakce s hodnotou vyšší než 100 ETH, napíšeme následující dotaz:
SELECT * FROM transakce WHERE hodnota > 10000000000000000000000
Znaménko větší než (>) znamená “větší než”. Tento dotaz tedy říká: “VYHLEDEJ všechny sloupce Z tabulky transakcí, KDE je hodnota větší než 100 ETH.”
K seřazení dat můžeme použít také příkaz ORDER BY. Chceme-li například nejprve zobrazit transakce s nejvyššími hodnotami, napíšeme následující dotaz:
SELECT * FROM transakce ORDER BY value DESC
Příkaz ORDER BY seřadí data vzestupně nebo sestupně. Výchozí je vzestupně, ale můžeme použít klíčové slovo DESC pro sestupné řazení. Tento dotaz tedy říká “VYBRAT všechny sloupce Z tabulky transakcí SEŘADIT PODLE hodnoty v sestupném pořadí”.
Nakonec můžeme pomocí příkazu LIMIT omezit počet výsledků. Chceme-li například zobrazit pouze prvních 100 výsledků, napíšeme následující dotaz:
SELECT * FROM transakce LIMIT 100
Tento dotaz říká “VYBRAT všechny sloupce Z tabulky transakcí LIMIT 100”.
Nyní, když víte, jak psát dotazy SQL, se naučíme, jak je používat v Dune.
Používání dotazů SQL v Dune
Chcete-li v Dune použít dotaz SQL, otevřete nejprve nástroj pro tvorbu dotazů. Poté zadejte dotaz do textového pole a klikněte na tlačítko “Spustit dotaz”.
Pokud je váš dotaz správný, zobrazí se výsledky v následující tabulce. Poté můžete kliknout na “Visual
ize” vizualizovat data.
Pokud chcete dotaz uložit, můžete kliknout na tlačítko “Uložit”. Tím se dotaz uloží, abyste k němu mohli přistupovat později.
Nyní, když znáte základy fungování Dune, jste připraveni začít ji používat ke zkoumání dat Etherea!
Dotazy, které jsou trochu složitější
Nyní, když znáte základy psaní dotazů SQL, se naučíme psát o něco složitější dotazy.
SELECT * FROM transakce
WHERE hodnota > 10000000000000000000000
AND to_address = ‘0x315e27aA99F682924Ae21CfD2281c682bC16E790'
Tento dotaz říká “SELECT všechny sloupce FROM tabulka transakcí WHERE hodnota je větší než 100 ETH AND the to_address is 0x315e27aA99F682924Ae21CfD2281c682bC16E790.”.
Chcete-li zjistit více informací o konkrétní adrese, můžete použít tabulku “Adresa”.
SELECT * FROM adresy
WHERE address = ‘0x315e27aA99F682924Ae21CfD2281c682bC16E790'
Tento dotaz říká: “VYHLEDEJ všechny sloupce Z tabulky adres, KDE je adresa 0x315e27aA99F682924Ae21CfD2281c682bC16E790.”
Další informace o konkrétním bloku můžete získat také v tabulce “Bloky”.
SELECT * FROM bloky
WHERE číslo = ‘8943592'
Tento dotaz říká “VYHLEDEJ všechny sloupce Z tabulky bloků, kde číslo je ‘8943592'.”
Vizualizace dat
Jakmile máte data k dispozici, můžete je vizualizovat různými způsoby. Dune nabízí několik různých typů vizualizace: čárové, sloupcové a koláčové grafy.
Chcete-li vytvořit vizualizaci, nejprve vyberte typ vizualizace, kterou chcete vytvořit. Poté vyberte data, která chcete vizualizovat.
Pokud bychom například chtěli vytvořit čárový graf hodnoty všech transakcí, vybrali bychom typ vizualizace “Čárový graf” a data “Hodnota”.
Po výběru dat můžete kliknutím na tlačítko “Vizualizovat” vytvořit vizualizaci.
Tlačítkem “Dotaz” můžete také upravit svůj dotaz nebo tlačítkem “Uložit” dotaz uložit.
Omezení
- Duna je mocný nástroj, ale má svá omezení. Za prvé, Dune podporuje pouze databáze SQLite. To znamená, že Dune můžete používat pouze s daty Etherea, která byla exportována do databáze SQLite.
- Za druhé, Dune podporuje pouze omezenou sadu příkazů SQL. To znamená, že v Dune nemůžete dělat vše, co v SQL. Dune však podporuje nejčastěji používané příkazy SQL.
- A konečně, Dune není schopen vizualizovat všechny typy dat. To znamená, že nemusíte být schopni vizualizovat všechna data, na která se dotazujete.
Co bude dál?
Nyní, když znáte základy fungování Dune, jste připraveni začít ji používat ke zkoumání dat Etherea! V další části se naučíme, jak exportovat data Etherea do databáze SQLite, abyste mohli Dune používat s vlastními daty. Zůstaňte naladěni!
Export dat Etherea do databáze SQLite
Prvním krokem při používání Dune je export dat Etherea do databáze SQLite. K tomu budete potřebovat nástroj, který umí exportovat data Ethereum do SQLite.
K tomu můžete použít několik různých nástrojů, ale doporučujeme použít exportér SQLite od společnosti Parity. Parity's SQLite exporter je nástroj, který dokáže exportovat data Etherea do databáze SQLite.
Chcete-li používat exportér SQLite od společnosti Parity, musíte si jej nejprve stáhnout a nainstalovat. Návod, jak to udělat, najdete v části “Export dat Etherea” v dokumentaci Parity.
Jakmile máte nainstalovaný exportér SQLite od Parity, můžete jej použít k exportu dat Etherea. K tomu budete muset zadat umístění svých dat Ethereum a umístění své databáze SQLite.
Pokyny k tomuto postupu naleznete v části “Export dat” dokumentace k programu Parity.
Jakmile máte data Etherea exportovaná do databáze SQLite, můžete začít Dune používat! V další části se naučíme, jak v Dune psát dotazy. Zůstaňte naladěni!
Psaní dotazů v Duně
Nyní, když máte data Etherea exportovaná do databáze SQLite, jste připraveni začít Dune používat! V této části se naučíme psát dotazy v Dune.
Dune používá k dotazování na data speciální jazyk SQLite Query Language (SQLiteQL). Jazyk SQLiteQL je podobný jazyku SQL, který možná znáte, ale má několik důležitých rozdílů.
- První rozdíl spočívá v tom, že SQLiteQL rozlišuje velká a malá písmena. To znamená, že při psaní dotazů je třeba dávat pozor na správné psaní velkých a malých písmen.
- Druhý rozdíl spočívá v tom, že SQLiteQL používá jinou syntaxi pro komentáře. V SQL se komentáře označují znakem – na začátku řádku. V SQLiteQL se komentáře označují znakem /* na začátku řádku a znakem */ na konci řádku.
- Třetí rozdíl spočívá v tom, že SQLiteQL používá jinou syntaxi pro řetězce. V jazyce SQL se řetězce označují jednoduchými uvozovkami. V jazyce SQLiteQL se řetězce označují dvojitými uvozovkami.
Nyní, když znáte základy psaní dotazů v jazyce SQLiteQL, zkusme napsat několik dotazů!