Table of Contents
Dune Analytics ir uz Ethereum orientēta analītikas platforma, kas nodrošina tīkla datus ērtāk lietojamā formātā.
Par laimi, Dune ir saderīga ar PostgreSQL standarta vaicājumu valodu. Pat ja jūs nekad iepriekš neesat rakstījis SQL, tā ir pietiekami vienkārša, lai to izmantotu. Visnoderīgākā vieta, kur sākt, ir citu izveidoti informācijas paneļi un vaicājumi, jo tajos bieži vien ir vairāk informācijas nekā jūsu pašu kodā.
Kāda ir atšķirība starp token un dune? Tā nav.
Anonimitātes un privātuma jēdziens jau sen ir saistīts ar bitcoin un citām kriptovalūtām. Sākotnējā 2008. gada baltajā grāmatā, kurā ar bitcoin palīdzību tika ieviesta blokķēdes tehnoloģija, tika popularizēts tehnoloģiskās neredzamības jēdziens.
Dune Analytics ir jaudīgs blokķēdes tehnoloģiju izpētes rīks. Tas ļauj meklēt, iegūt un vizualizēt milzīgus datu apjomus no Ethereum blokķēdes. Šajā rakstā ir parādīts, kā veikt pamata meklēšanu un rakstīt vienkāršus vaicājumus, lai izveidotu grafikus. Atklājumu iespējas ir neierobežotas.
Visu informāciju var atrast publiskās blokķēdēs, piemēram, Ethereum. Viss, kas jums jādara, ir jāmeklē. Līdz šim, izmantojot specializētu programmu, visticamāk, būtu nepieciešams atbildēt uz tādiem jautājumiem kā projekta lietotāju skaits vai DEX dienas apjoms. Skripta palaišana ietvers bloku pārlūkošanu, datu izvērtēšanu, pareizu to sakārtošanu un atbildes iegūšanu uz jautājumu.
Dune Analytics atvieglo datu izpēti, ļaujot rakstīt SQL vaicājumus, kas tiek automātiski izpildīti to serveros. Pēc tam dati ir viegli apskatāmi grafikos, kas ļauj ātri atklāt vērtīgas atziņas.
Datu iegūšana no liela datu kopuma ir sarežģīta un laikietilpīga. Lielākā daļa skriptu var iegūt informāciju par vienu projektu, bet, ja vēlaties, lai tas darbotos visiem projektiem, iespējams, būs jāveic dažas izmaiņas.I
Turklāt visu posmu kopīga izpilde aizņem daudz laika, jo ir nepieciešams vai nu vesels mezgls, vai daudzi atsevišķi pieprasījumi publiskajiem mezgliem. Dune Analytics risina šo problēmu, ļaujot izmantot vienu vienotu vaicājumu, kas tiek automātiski izpildīts viņu serveros.
Palīgā nāk Dune Analytics
Dune Analytics ir rīks, kas ļauj viegli iegūt datus no Ethereum. Izmantojot Dune, jūs varat pieprasīt Ethereum datus, izmantojot iepriekš izveidotas datubāzes tīmekļa platformā, tādējādi ievērojami atvieglojot informācijas iegūšanu no blokķēdes.
Šajā pamācībā jūs uzzināsiet, kā Dune meklēt, rakstīt un vizualizēt pamata pieprasījumus, lai dažu minūšu laikā no nulles kļūtu par blokķēdes ekspertu. Pat ja nekad iepriekš neesat rakstījis SQL, pietiks ar dažiem vienkāršiem piemēriem.
Kā darbojas Dune analītika?
Dune analytics apvieno neapstrādātus datus no blokķēdes SQL datubāzēs, kuras var viegli pārbaudīt. Piemēram, ir izveidota tabula, kurā var pārbaudīt visus Ethereum darījumus, kas ir glīti sadalīti slejās. Sūtītājs, saņēmējs un summa ir kolonnu piemēri.
Pēc dažām minūtēm dati no blokiem tiek apstrādāti un ievadīti Dune datubāzē. Papildus neapstrādātiem blokiem un darījumiem Dune satur arī informāciju par aktīvu cenām un specializētas tabulas, piemēram, visas atbilstošās adreses UNI žetonam.
….Speram soli tālāk un iemācīsimies, kā izmantot Dune, nerakstot kodu, kā arī dažus SQL pamatus.
Uzsāciet darbu ar Dune Analytics.
Pēc konta atvēršanas sākumlapa izskatās šādi:
Vispirms tiks parādīts visu pieejamo datubāzu saraksts. Pašlaik Dune atbalsta četras:
- Ethereum bloki
- Ethereum darījumi
- Uniswap V21 notikumi
- Kyber Network Proxy tirdzniecības pasākumi
Katra datubāze būtībā ir SQL tabula. Lai rakstītu vaicājumus, jāizvēlas konkrēta datubāze, kas tiks izmantota. Šajā pamācībā mēs izmantosim Ethereum Transactions datubāzi.
Kad esat izvēlējies datubāzi, tiks atvērts vaicājumu konstruktors. Vaicājumu konstruktors ir vieta, kur rakstīt SQL vaicājumus. Pieprasījumu konstruktoru var izmantot arī, lai vizualizētu datus, nerakstot SQL kodu.
Vaicājuma konstruktora kreisajā pusē redzēsiet visu datubāzē pieejamo kolonnu sarakstu. Šīs kolonnas varat izmantot, lai filtrētu datus, kā arī grupētu un šķirotu datus.
Vaicājuma konstruktora labajā pusē redzēsiet sava vaicājuma rezultātus. Pēc noklusējuma Dune parādīs pirmos 100 jūsu vaicājuma rezultātus.
Ja vēlaties redzēt vairāk rezultātu, varat noklikšķināt uz pogas “Lejupielādēt”. Tā lejupielādēsiet visus sava vaicājuma rezultātus kā CSV failu.
Varat arī noklikšķināt uz pogas “Vizualizēt”, lai vizualizētu datus. Dune atbalsta divu veidu vizualizācijas: līnijgrafikus un joslu grafikus.
Lineārie grafiki vislabāk ir piemēroti nepārtrauktiem datiem, piemēram, cenām vai apjomiem. Stūres diagrammas vislabāk ir piemērotas diskrētiem datiem, piemēram, skaitļiem vai kategorijām.
Kad esat izvēlējies vizualizāciju, varat izmantot labajā pusē esošās opcijas, lai pielāgotu grafiku. Piemēram, varat mainīt x-asi un y-asi, kā arī diagrammas krāsu un nosaukumu.
Kad esat apmierināts ar savu vizualizāciju, noklikšķiniet uz pogas “Saglabāt”, lai to saglabātu.
Tagad, kad zināt Dune darbības pamatus, iemācīsimies rakstīt SQL vaicājumus.
SQL vaicājumu rakstīšana
SQL ir programmēšanas valoda
Pieprasījumi
Ja jums ir grūtības atrast nepieciešamos datus no citiem Dune lietotājiem, mēģiniet rakstīt savus SQL vaicājumus.
Pirms sākam rakstīt vaicājumus, ir svarīgi saprast datubāzes struktūru. Dune katra datubāze ir sadalīta tabulās. Katrai tabulai ir nosaukums un kolonnu kopums.
Piemēram, Ethereum transakciju datubāzē ir tabula ar nosaukumu “transakcijas”. Šajā tabulā ir slejas, kurās norādīts katra darījuma sūtītājs, saņēmējs un summa.
Lai atlasītu datus no tabulas, tiek izmantots SELECT paziņojums. Piemēram, lai atlasītu visus Ethereum Transactions datubāzē esošos darījumus, mēs rakstītu šādu vaicājumu:
SELECT * FROM darījumi
Zvaigznīte (*) ir aizstājējzīme, kas nozīmē “visi”. Tātad šis vaicājums ir “SELECT all of the columns FROM the transactions table”.
Ja vēlamies atlasīt tikai dažus stabiņus, zvaigznītes vietā varam uzskaitīt stabiņu nosaukumus. Piemēram, lai atlasītu tikai katra darījuma sūtītāju, saņēmēju un summu, mēs rakstītu šādu vaicājumu:
SELECT sender, recipient, amount FROM darījumi
Lai filtrētu datus, varam izmantot arī formulējumu WHERE. Piemēram, ja mēs vēlamies redzēt tikai tos darījumus, kuru vērtība ir lielāka par 100 ETH, mēs varam uzrakstīt šādu vaicājumu:
SELECT * FROM darījumi, kur vērtība > 1000000000000000000000000000000
Lielāks par (>) nozīmē “lielāks par”. Tātad šis vaicājums saka: “IZVĒL visus stabiņus NO transakciju tabulas, kur vērtība ir lielāka par 100 ETH.”
Varam arī izmantot paziņojumu ORDER BY, lai sakārtotu datus. Piemēram, ja mēs vēlamies vispirms apskatīt darījumus ar vislielākajām vērtībām, mēs rakstītu šādu vaicājumu:
SELECT * FROM darījumi ORDER BY value DESC
Ar rīkojuma ORDER BY paziņojumu dati tiek sakārtoti augošā vai dilstošā secībā. Pēc noklusējuma tas ir augošā secībā, bet mēs varam izmantot atslēgas vārdu DESC, lai sakārtotu dilstošā secībā. Tātad šis vaicājums saka: “SELECT all of the columns FROM the transactions table ORDER BY value in descending order.” (IZVĒL visus stabiņus no transakciju tabulas ORDER BY vērtības dilstošā secībā).
Visbeidzot, lai ierobežotu rezultātu skaitu, varam izmantot paziņojumu LIMIT. Piemēram, ja mēs vēlamies redzēt tikai pirmos 100 rezultātus, mēs rakstītu šādu vaicājumu:
SELECT * FROM darījumi LIMIT 100
Šajā vaicājumā ir teikts: “IZVĒLIET visas kolonnas NO darījumu tabulas LIMIT 100.”
Tagad, kad zināt, kā rakstīt SQL vaicājumus, iemācīsimies tos izmantot Dune.
SQL vaicājumu izmantošana Dune
Lai izmantotu SQL vaicājumu programmā Dune, sāciet, atverot vaicājumu konstruktoru. Pēc tam ievadiet savu vaicājumu paredzētajā teksta lodziņā un nospiediet “Run Query.
“Ja jūsu vaicājums ir pareizs, turpmāk tabulā redzēsiet rezultātus. Pēc tam varat noklikšķināt uz “Visual
ize” pogu, lai apskatītu savus datus.
Ja vēlaties saglabāt savu vaicājumu, varat nospiest pogu “Saglabāt”. Tas saglabās jūsu vaicājumu, lai jūs varētu tam piekļūt vēlāk.
Tagad, kad zināt Dune darbības pamatus, esat gatavs sākt to izmantot, lai pētītu Ethereum datus!
Mazliet sarežģītāki vaicājumi
Tagad, kad zināt SQL vaicājumu rakstīšanas pamatus, iemācīsimies rakstīt nedaudz sarežģītākus vaicājumus.
SELECT * FROM darījumi
Ja vērtība > 100000000000000000000000000
AND to_address = ‘0x315e27aA99F682924Ae21CfD2281c682bC16E790'
Šis vaicājums saka: “SELECT visas kolonnas FROM transakciju tabula, kur vērtība ir lielāka par 100 ETH UN to_address ir 0x315e27aA99F682924Ae21CfD2281c682bC16E790.”.
Lai uzzinātu vairāk par konkrētu adresi, varat izmantot tabulu “Adrese”.
SELECT * FROM adreses
kur adrese = ‘0x315e27aA99F682924Ae21CfD2281c682bC16E790'
Šajā vaicājumā ir teikts “IZVĒLIET visus kolonnas IZ adreses tabulas, kur adrese ir 0x315e27aA99F682924Ae21CfD2281c682bC16E790.”.
Lai uzzinātu vairāk par konkrētu bloku, varat izmantot arī tabulu “Bloki”.
SELECT * FROM bloki
Sākot ar Dune Analytics
kur numurs = ‘8943592'
Datu vizualizācija
Kad esat ieguvis datus, varat tos vizualizēt dažādos veidos. Dune piedāvā dažus dažādus vizualizācijas veidus: līnijdiagrammas, joslu diagrammas un pīrāgu diagrammas.
Lai izveidotu vizualizāciju, vispirms atlasiet vizualizācijas veidu, kuru vēlaties izveidot. Pēc tam atlasiet datus, kurus vēlaties vizualizēt.
Piemēram, ja mēs vēlētos izveidot visu darījumu vērtības līnijdiagrammu, mēs izvēlētos vizualizācijas veidu “Line Chart” un datus “Value”.
Kad dati ir atlasīti, varat noklikšķināt uz pogas “Vizualizēt”, lai izveidotu vizualizāciju.
Varat arī izmantot pogu “Pieprasījums”, lai rediģētu savu pieprasījumu, vai pogu “Saglabāt”, lai saglabātu savu pieprasījumu.
Ierobežojumi
- Dune ir spēcīgs rīks, taču tam ir savi ierobežojumi. Pirmkārt, Dune atbalsta tikai SQLite datubāzes. Tas nozīmē, ka Dune var izmantot tikai ar Ethereum datiem, kas ir eksportēti uz SQLite datubāzi.
- Otrkārt, Dune atbalsta tikai ierobežotu SQL komandu kopumu. Tas nozīmē, ka Dune nevar darīt visu, ko var darīt SQL. Tomēr Dune atbalsta visbiežāk izmantotās SQL komandas.
- Visbeidzot, Dune nespēj vizualizēt visus datu tipus. Tas nozīmē, ka jūs, iespējams, nevarēsiet vizualizēt visus datus, kurus pieprasāt.
Kas tālāk?
Tagad, kad zināt Dune darbības pamatus, esat gatavs sākt to izmantot, lai pētītu Ethereum datus! Nākamajā sadaļā mēs uzzināsim, kā eksportēt Ethereum datus uz SQLite datubāzi, lai jūs varētu izmantot Dune ar saviem datiem. Turpiniet sekot līdzi!
Ethereum datu eksportēšana uz SQLite datubāzi
Pirmais solis Dune izmantošanā ir Ethereum datu eksportēšana uz SQLite datubāzi. Lai to izdarītu, jums būs nepieciešams rīks, kas spēj eksportēt Ethereum datus uz SQLite.
Šim nolūkam var izmantot vairākus dažādus rīkus, bet mēs iesakām izmantot Parity SQLite eksportētāju. Parity's SQLite exporter ir rīks, kas var eksportēt Ethereum datus uz SQLite datubāzi.
Lai izmantotu Parity SQLite eksportētāju, vispirms ir nepieciešams to lejupielādēt un instalēt. Norādījumus, kā to izdarīt, varat atrast Parity dokumentācijas sadaļā “Ethereum datu eksportēšana”.
Kad ir instalēts Parity SQLite eksportētājs, varat to izmantot, lai eksportētu Ethereum datus. Lai to izdarītu, jums būs jānorāda Ethereum datu atrašanās vieta un SQLite datubāzes atrašanās vieta.
Norādījumus, kā to izdarīt, var atrast paritātes dokumentācijas sadaļā “Datu eksportēšana”.
Kad jūsu Ethereum dati ir eksportēti uz SQLite datubāzi, jūs varat sākt izmantot Dune! Nākamajā sadaļā mēs uzzināsim, kā rakstīt pieprasījumus Dune. Turpiniet sekot līdzi!
Pieprasījumu rakstīšana Dune
Tagad, kad jūsu Ethereum dati ir eksportēti uz SQLite datubāzi, esat gatavs sākt izmantot Dune! Šajā sadaļā mēs uzzināsim, kā rakstīt pieprasījumus Dune.
Dune izmanto īpašu valodu SQLite Query Language (SQLiteQL), lai veiktu datu vaicājumus. SQLiteQL ir līdzīga jums pazīstamajai SQL valodai, taču tai ir dažas būtiskas atšķirības.
- Pirmā atšķirība ir tā, ka SQLiteQL ir lielo un mazo burtu atšķirība. Tas nozīmē, ka, rakstot vaicājumus, ir jārēķinās ar pareizajiem burtiem.
- Otrā atšķirība ir tā, ka SQLiteQL izmanto citu komentāru sintaksi. SQL valodā komentāri tiek apzīmēti ar – rindas sākumā. SQLiteQL valodā komentāri tiek apzīmēti ar /* rindas sākumā un */ rindas beigās.
- Trešā atšķirība ir tā, ka SQLiteQL izmanto citu virkņu sintaksi. SQL valodā virknes tiek apzīmētas ar vienpēdiņām. SQLiteQL valodā virknes tiek apzīmētas ar dubultajām pēdiņām.
Tagad, kad zināt, kā rakstīt pieprasījumus SQLiteQL, pamēģināsim uzrakstīt dažus pieprasījumus!
Optimisma pievienošana jūsu gāzes maksai
Perp's spēcīgajiem lietotājiem būs svarīgi arī sekot līdzi gāzes maksām par Optimism.
Par laimi, mēs varam izmantot diagrammu, lai parādītu vidējās gāzes cenas dažādiem tirdzniecības izpildījumiem un pozīcijām, kā arī salīdzinājumus ar parastajiem ETH pārskaitījumiem un tirdzniecību Uniswap v3. Mēs to varam izdarīt, atdarinot msilb7 vaicājumu un pievienojot savu variāciju. Mēs rediģējam kodu, lai iegūtu ilgāka termiņa pārskatu par gāzes maksām pēdējo 5 mēnešu laikā, iekļaujot tikai darījumus Perp, Uniswap, kā arī ETH pārskaitījumus. Mēs varam saglabāt vaicājumu un pievienot datu diagrammas par gāzes maksām ETH un USD mūsu panelim.
Jūs varat pievienot savu tirgotāja PnL un finansēšanas maksājumus, veicot šādas darbības:
1. Dodieties uz cilni “Tirgotāja peļņa un zaudējumi”.
2. Noklikšķiniet uz zaļās pogas “+ Pievienot maksājumu”.
3. Parādīsies uznirstošais logs – izvēlieties, vai vēlaties pievienot finansējuma maksājumu vai tirgotāja p&l, pēc tam aizpildiet visu attiecīgo informāciju un noklikšķiniet uz “Pievienot”.
Secinājumi
Apkopojot šīs vizualizācijas, LP un tirgotāji var piekļūt visai informācijai, kas atrodama dažādos Dune paneļos, no vienas centrālās vietas!