實用的鏈上資料工具 — Dune Analytics 介紹

JKOBlockchain
JKOBlockchain
Published in
6 min readAug 9, 2022
資料來源:Dune Analytics

今天要跟大家介紹鏈上工具 Dune Analytics,如果有特別去找過一些項目的相關數據、用戶之類的資料應該會看過這個工具。用 Etherscan 這樣的 Explorer 雖然也能查詢到所有鏈上的資料,但如果想要針對特定的 function 或地址的活動進行分析的話就比較困難。而 Dune Analytics 則能讓用戶利用 SQL 對鏈上資料進行查詢、篩選等等,也能做成視覺化的圖表幫助分析。

這篇內容會分為以下幾個部分:

  • Dune 的資料來源
  • 查詢現有的圖表的儀表板
  • 自己利用 SQL 查詢/製作圖表和儀表板
  • 實用的 abstractions

Dune 的資料來源

Dune 在 Web3 的數據領域裡屬於 data mappers,主要功能是把交易的 logs 都載下來,讓用戶能用 SQL 的方式去查訊這個他們建立好資料庫。而 Dune 的資料來源則仰賴 InfuraAlchemy,這樣的基礎設施讓他們省去自己建立和管理以太坊客戶端,可以直接以 API 的方式查詢鏈上資料。Dune 就是透過這些 API 持續去「聽」鏈上資料,整理成資料庫後再讓用戶去查詢。但也因為 Dune 接收到的不是第一手資料,所以相對鏈上的活動會延遲一些時間,但對於資料的分析通常不會有太大的影響。

那在 Dune 上能查詢到什麼樣的鏈上資料?目前只支援 Ethereum, Polygon, BNB Chain, Optimism and Gnosis Chain 這幾條鏈的資料(雖然資料格式有些不一樣,但也有 Solana 和 Arbitrum 交易的資料庫)。而資料庫裡主要的三個表格是 transactions, traces 和 logs,如果以 Etherscan 上可以看到的資料做對照,則分別是對應 transactions, internal transactions 和 events。下圖可以看到一筆 Transfer 交易會以什麼形式納入在 Dune 的這三個表格中,三大表格中又會含有哪些交易資料。

Dune 資料庫裡的三大表格。資料來源:OurNetwork
三大表格對應 Etherscan 上能看到的資料。資料來源:Etherscan

查詢現有的圖表和儀表板

到 Dune 的網站頁面可以直接搜尋想要查詢的項目/ 內容,大部分的知名項目都會有其他用戶做好的 dashboard 可以看,如果沒有的話也可以看看 queries 有沒有被查詢過的資料或圖表,只是沒有被製作成 dashboard。如果有登入的話,還可以把常用或喜歡的 dashboards/ queries 按 ⭐️ 符號就能加到我的最愛,看用戶得到的 ⭐️ 數量也是判斷他做的圖表的熱門程度或品質的一項指標。

Dune Analytics 頁面可以直接查詢 dashboards 和 queries。資料來源:Dune Analytics
項目的 dashboard 可以直接看到各類相關數據。資料來源:Dune Analytics

自己利用 SQL 查詢/製作圖表和儀表板

如果搜尋不到自己想要找的資料,就可以自己利用 SQL 進行 query。下圖可以看到在 Dune 中 query 的畫面,左邊可以選擇要查詢的鏈,也可以直接搜尋已經被 decode 過的合約,如果是沒被 decode 過的合約也可以提出申請,大概一兩天後 Dune 就會通知該合約的資料可以直接被搜尋了(沒被 decode 的合約還是可以用 ethereum.transactions 等三大表格查到,只是無法直接在左側搜尋合約中的 function 或 event)。只要打好 SQL 的指令並按下 “Run” ,下方就會出現對應的資料了,操作起來很容易。查詢的資料出現後如果想要做成圖表,只要按下 “New visualization” 就能製作各類型的圖表 — 線圖、圓餅圖、柱狀圖、散佈圖等等。製作多個圖表後就能整理到自己的 dashboard 中,提供給其他用戶搜尋。

Dune 中 query 的操作畫面。資料來源:Dune Analytics

Dune 中 query 的操作畫面。資料來源:Dune Analytics

實用的 abstractions

另一個實用的功能是 abstractions,這些是客製化的表格,方便用戶查詢一些特定的資料。例如 dex.tradesnft.trades 都是 Dune 團隊製作並持續維護的表格,可以直接查詢所有 DEX 或 NFT 的交易資料,就不需要從各個交易所的交易抓取資料再合併。也有 erc20.stablecoins 可以查詢所有穩定幣數據、prices.usd 可以查詢代幣在 coinpaprikacoingecko 的價格等等。用戶也可以自己製作 abstractions,幫助自己和其他用戶更方便查詢某些數據。在 Dune 的 Github 可以查到所有的 abstractions,如果想了解這些表格的資料來源的話可以直接上去查看。

以上就是我們針對 Dune Analytics 的介紹,有另一個類似的工具 — Footprint Analytics 大家也可以去試用看看,一樣是可以利用 SQL 查詢資料並製成圖表的工具。之後如果找不到需要的資料時,不仿自己用這些工具整理數據看看!有興趣了解更多的朋友,也可以看看 OurNetwork 的這個課程,裡面有更詳細的介紹還有示範。

--

--