台灣打造的 AI・什麼都可以問──免費試試 TheAI 對話,最懂台灣

Dune 完整教學:從零開始用 SQL 查鏈上資料、做出第一張儀表板

Dune 完整教學:從零開始用 SQL 查鏈上資料、做出第一張儀表板

Dune 是鏈上研究的共同語言,但很多人卡在第一步就放棄。這篇從「它到底是什麼」講到實際做出一張儀表板,包含最省時的學習法、常見的錯誤,以及免費層那個很多人沒注意到的隱私陷阱。

如果你想學一個鏈上分析工具,我會叫你學 Dune。原因不是它功能最強,而是它的學習曲線平得不像話——因為社群把絕大部分的路都走過了。

這篇是從零開始的完整教學。看完你應該能自己查出「某個代幣的持有者分布」這種等級的問題。

是什麼

Dune 是一個鏈上資料查詢平台。它做的事情是:把區塊鏈的原始資料(那些十六進位的、人類讀不懂的 log)解析成有欄位名稱的資料表,然後讓你用 SQL 查詢。

這件事的價值要親自解碼過一次才懂。原始的以太坊交易紀錄裡,一筆代幣轉帳長得像一串亂碼,你要自己對照 ABI 才知道哪一段是發送方、哪一段是金額。Dune 把這些工都做完了,你看到的是一張有 fromtoamountblock_time 欄位的表。

另一個關鍵設計是:所有查詢預設公開。任何人都能看到別人怎麼寫查詢、怎麼組儀表板,也能直接複製過來改。這是它最大的資產。

能做什麼

  • 查代幣的持有者結構、轉帳流向、交易量趨勢
  • 分析 DeFi 協議的 TVL、手續費收入、使用者數
  • 追蹤 NFT 系列的成交量、地板價與持有者變化
  • 監控自家專案的鏈上指標並做成公開儀表板
  • 用圖表輔助研究報告或新聞查證

不能做的也講清楚:它有資料延遲,不能拿來做交易所出金攔截這種即時風控;免費層的查詢公開,不適合放內部敏感分析。

怎麼用:五個步驟

步驟一:註冊並找到搜尋框

到 dune.com 註冊帳號,免費層就能開始。登入後先別急著寫查詢,把上方的搜尋框當成你的主要入口——這是這篇教學最重要的一句話。

步驟二:先找一個別人做好的儀表板

搜尋你關心的主題,例如某個協議名稱或代幣名稱。你會看到一堆別人做好的儀表板。挑一個看起來完整、而且最近有更新的打開。

這一步的目的不是找答案,是找教材。看到圖表下方有「查詢」的連結,點進去,你就能看到產生這張圖的完整 SQL。

步驟三:Fork 別人的查詢來改

在別人的查詢頁面上按 Fork,它會複製一份到你的帳號底下,你可以隨意修改而不影響原作者。

現在做一件小事:把 WHERE 條件裡的代幣合約地址換成你想查的那個,然後執行。如果跑出結果,恭喜,你已經完成了第一次鏈上查詢——而且你根本還沒開始學 SQL。

我建議前兩三天都用這種方式練習:找查詢、fork、改一個條件、看結果。等你對資料表的欄位有感覺了,再開始從頭寫。

步驟四:認識幾張核心資料表

Dune 的資料表很多,但常用的就那幾類:

  • ethereum.transactions 之類的原始交易表:每一筆鏈上交易
  • 代幣轉帳表:解析後的 ERC-20 轉帳紀錄,有 fromtocontract_addressamount
  • DEX 交易表:跨各家交易所統一格式的交易紀錄,這張表省下最多工
  • NFT 交易表:成交紀錄與價格

實際的表名會隨 Dune 的資料模型版本調整,寫查詢時用左側的資料表瀏覽器確認當前名稱,不要照抄舊教學文的表名——這是新手最常卡住的地方。

步驟五:把查詢變成圖表與儀表板

查詢結果出來後,切到視覺化分頁,選圖表類型、設定 X 軸與 Y 軸。做好之後回到儀表板頁面,把多個圖表拼起來,就是一份可以分享的報告。

儀表板可以嵌入到自己的網頁,資料會跟著查詢更新,這對需要定期更新數據的內容工作者很方便。

進階技巧

善用參數化查詢。 在查詢裡設定變數(例如代幣地址),儀表板上就會出現輸入框,讀者可以自己換條件重跑。這讓一份儀表板能服務很多情境,不用做十份。

先小範圍測試再放大。 寫新查詢時加上時間範圍限制,例如只查最近七天,跑通了再拿掉。鏈上資料量很大,一開始就全撈會浪費執行額度,而且等很久。

看資料表的說明文件。 每張表都有欄位說明,特別要注意金額欄位的單位——很多表存的是最小單位(wei 或代幣的最小精度),沒除以精度就會得到誇張的數字。這是新手最常見的錯誤。

追蹤幾個高手的帳號。 這個領域有些人的查詢寫得又乾淨又聰明,訂閱他們的儀表板,等於長期訂閱一份教材。

注意事項

免費層的查詢預設公開。 這是我最想提醒的一點。如果你在幫公司做內部分析,你的資料邏輯就等於攤在網路上了。我看過團隊沒注意到這件事,把還沒對外公布的產品指標查詢直接曝光。需要保密就升級付費方案,這筆錢別省。

資料有延遲。 實際延遲依鏈別與資料表而異。做研究、看趨勢沒問題,但要接進即時風控流程就不行,那種需求得用 Allium 這類機構級的即時串流服務。

查詢有執行額度限制。 免費層有執行資源上限,寫得太爛的查詢(沒有時間範圍、大量 join)會很快吃掉額度。養成加限制條件的習慣。

AI 生成的 SQL 要檢查。 Dune 有自然語言輔助生成查詢的功能,方便,但生出來的東西經常需要修——特別是資料表名稱與金額精度。把它當草稿,不要當答案。

常見的三個錯誤

第一,照抄舊教學的資料表名稱。Dune 的資料模型會演進,一年前的教學文裡的表名可能已經不存在。永遠用左側的瀏覽器確認。

第二,忘記處理代幣精度。查出來的金額多了十八個零,通常就是這個原因。

第三,把交易所熱錢包當成巨鯨。查持有者排行時,前幾名經常是中心化交易所的錢包,那不是某個人的持倉。

TheAI學院 評語

Dune 是我認為投報率最高的鏈上技能。花一個週末,從 fork 別人的查詢開始,第三天你大概就能自己回答「這個代幣的持有者集不集中」這種問題——而這個問題,正好是台灣加密社群最需要卻最少人會自己查的。

不用一開始就想寫出漂亮的查詢。先讓自己有能力驗證群組裡轉傳的那張圖,就已經贏過大多數人了。

評語:Dune 真正厲害的地方不是技術,是它把「公開共享」寫進產品設計裡。你不是一個人在學,你站在幾萬人已經寫好的查詢上面。這種學習條件在其他資料工具上幾乎不存在,不用就太可惜了。

延伸閱讀:鏈上分析工具怎麼選。想快速查一個代幣有沒有問題而不想寫 SQL,直接用 Bubblemaps

資料來源

本文依公開資訊與實際操作流程整理,介面與資料表結構以官方最新版本為準。加密資產投資風險極高,本文不構成投資建議。

常見問題

完全不會 SQL 可以用 Dune 嗎?

可以先從看別人的公開儀表板開始,熱門主題大多有人維護。想自己查的話,建議用 fork 別人的查詢再改條件的方式入門,這樣不用從零學 SQL 也能得到結果。但要寫出自己的查詢,基本的 SELECT、WHERE、GROUP BY 還是要懂。

Dune 免費版有什麼限制?

主要有三項:查詢執行資源有上限、私有查詢數量受限、以及最重要的——免費層的查詢預設公開。做個人研究沒問題,但幫公司做內部分析一定要升級,否則資料邏輯等於對外公開。

為什麼我查出來的金額多了很多個零?

多數代幣轉帳表存的是最小單位,需要除以該代幣的精度(decimals,常見是 18 或 6)才是實際數量。這是新手最常見的錯誤,寫查詢時記得確認欄位說明。

Dune 的資料可以做即時風控嗎?

不行。它的資料有延遲,實際延遲依鏈別與資料表而異,適合研究與趨勢分析。要做出入金的即時攔截,需要用專門的低延遲串流服務,例如 Allium Realtime 或各家法遵平台的風險評分 API。