# Dune的使用指南

By [Untitled](https://paragraph.com/@0xffdd7d3fbe79052a3cd3a2806fb448468d952ad3) · 2022-06-05

---

Dune Analytics 号称“平民版 Nansen”、“链上数据分析师神器”

**Dune官方的用例分析中提到三类使用场景**：

行业分析 (NFT, DEX, Lending)

项目分析 (Tornado, OpenSea)

生态系统分析 (Gas Price, DeFi Adoption)

1/ Dune能跟踪项目的哪些数据 Dune目前支持5条链，你可以获取其所有链上交易记录数据。 经过一定的筛选、解析、汇总

你可以跟踪项目的如下数据： 用户量 交易量、锁仓量 (TVL) 数据增长趋势

极值、均值、数据分布

针对特定项目，我们筛选有价值的数据汇总呈现（数据随时间自动更新）

![dune数据呈现形式](https://storage.googleapis.com/papyrus_images/ac132ffc64fd7c4be4ef2f84c1f7da401e41f97baac5ec8a9d3b001ed536919b.png)

dune数据呈现形式

2/ 新手如何入门 Dune

入门Dune比你想象中的要容易些，尤其是仅掌握基本技能

SQL 查询语句基础

Etherscan 网站使用及解读

DeFi 基础知识

智能合约基础概念

### 以下是适合零基础小白入门的极简教程

1/ 何谓 Dune？ Dune 作为一款链上数据研究分析的强大工具，经过4轮融资，目前估值已达10亿美元。 用户通过类SQL的数据库查询语言，从 Dune 缓存的区块链数据仓库中检索、筛选、提取、聚合，形成一个个 Query，再对查询到的数据进行可视化，最终汇总而成一个个 Dashboard 面板

2/ 何谓数据仓库？ 区块链本质上是一个去中心化的账本，所有过往的交易转账、合约调用形成了一条条的交易记录明细，包含交易时间、转入、转出地址、交易金额、调用信息、合约事件、tx\_hash 等数据。 Dune 将以上所有数据分门别类进行存储形成数据仓库，供有需要的人调用、查询、分析（可谓功德无量）

3/ 何谓 SQL？ SQL 即“结构化查询语言”，专用于数据库相关的查询、管理。 在 Dune 中，我们用 SQL 查询语句来获取所有想要的数据，构建成对应的 “Query”

4/ 何谓数据表？ 每一个数据表（table）可以视作一个超大的 Excel 表格，按顺序记录了所有与之相关的数据。 Dune 提供了很多内置的知名协议专属的“数据表dataset”。 注册登陆你的 Dune 账户，点击顶部的"New Query"即可打开如下页面： 左侧即为内置数据表，右侧是“查询语句”和“查询结果”

![数据表](https://storage.googleapis.com/papyrus_images/857cd30d37815f3e9a27756d1888be3cf6ba64bb98380cef149dbc9866336421.png)

数据表

5/ 常用数据表 除了内置的数据表外，还有些常用的数据表，比如： 最常用的 ethereum.transactions，可以查询所有的以太坊链上交易信息，包括了普通转账和合约调用等信息

![常用数据表](https://storage.googleapis.com/papyrus_images/8eff731171ea2e2fcb2ed1cb4a5d54f9429ecbea6b60b5f58fd75f5d73faa33e.png)

常用数据表

6/ 数据表里有什么？

不同数据表，提供的内容各有迥异。 以 "ethereum.transactions" 为例，表内提供了: block\_time 区块时间，from 发起地址，to 转入地址（或调用的合约地址），value 转账金额，data 附加数据（合约调用的input data）等

![数据表里包含的信息](https://storage.googleapis.com/papyrus_images/ff048f53fdc3134fa9d9d1026a89ab8dac4a6579ca4295ab92766d7953ec6bb8.png)

数据表里包含的信息

7/ SQL 查询语句怎么写？

基本的 SQL 查询语句： select : 取什么数据 from: 从哪里取数据 where: 限制条件是什么 order by: 根据什么排序 limit: 限制取回的数据条数

![查询语句](https://storage.googleapis.com/papyrus_images/d2a068970eb7eddf202d145d0713424c50a29d9b720d5680b151f7399d495433.png)

查询语句

8/ 你的第一条 Dune

查询语句 打开 Dune 的 "New Query"，粘贴以下语句 select \* from ethereum.transactions limit 5 点击 "Run" 稍等即可在"Query Results"看到查询结果 语句中的 \* 代表查询所有字段，limit 5 是为了限制数据取回的数量，不然你就是在告诉 Dune 要取回以太坊链上的所有交易数据

![简单查询语句](https://storage.googleapis.com/papyrus_images/15512be103ea4c9260bcab3318c09d0e1681c827e31893b8311f83710d2ec2b3.png)

简单查询语句

9/ 更复杂的查询语句

现在让我们来试试更复杂（也更有趣）的 Dune 查询语句：查询 V神钱包 的链上交易信息 这次我们新增了 where "from" 限制条件，只筛选“V神”的钱包地址，order by 语句限定排序条件，desc 表降序 点击链接即可复制语句，或 fork 后自己该参数运行 [https://dune.com/queries/724390](https://t.co/I59NaGsig2)

![复杂查询语句](https://storage.googleapis.com/papyrus_images/292d478501256bb5b13d48a8925f8675b228a16efbe97488ace1790da49a7837.png)

复杂查询语句

10/ 更有用的查询语句

现在，让我们筛选一些“更有用”的信息，比如：转账金额 这次我们 select 选取两个字段: block\_time 和 value 通过 value/1e18 计算公式，换算为 ETH 单位， as 关键词为其取一个好听的别名 第5行 and 关键词指 where 下多个限定条件取交集 链接：[https://dune.com/queries/728779](https://t.co/684ryLWPCo)

![更有用的查询语句](https://storage.googleapis.com/papyrus_images/81fc29a86d705d0207ddfad92e18df0db581ba5830bb52d989ebfa2b91ab16ed.png)

更有用的查询语句

11/ 你的第一个可视化图表

数据已有，可视化图表呼之欲出 对于这种随时间变动的数值，最普遍使用的图表就是bar chart （条形图、柱状图）了 在查询结果顶部点击"New visualization"，选择“Bar Chart”，看到系统自动帮我们把 X,Y 轴都选好了。数据较多的情况下，则需要手动选择Y轴数据

![图表设置](https://storage.googleapis.com/papyrus_images/00aedcaef8fb12965390f8ff19a89eaa8b895f47ef7c58e658ef22ef568d26d4.png)

图表设置

12/ Sum函数求和

一个最普遍的数据统计需求就是：加总求和 我们对筛选到的数据，直接使用 sum 函数即可 sum(value/1e18) as "total" 可视化图表选择 Counter，修改 Title ，就有了如图的汇总数据：83.25万 ETH

![求和语句](https://storage.googleapis.com/papyrus_images/be516914f4b7ad5545f047da860fda51540d6f165e98dafcd54dc2738665c908.png)

求和语句

13/ 举一反三

既然可以统计所有从 V神 钱包发出的交易，自然可以统计 V神 钱包接收的所有交易数据。 举一反三，只需要修改 where 限制条件语句中的 "from" 为 "to" 即可 运行，V神 钱包总计接收到 69.6万 ETH

![接收计算](https://storage.googleapis.com/papyrus_images/1eed8aced3c29ed76e0f48e319b6e2d07e4e57b63373ce6d986c9c06157a7b46.png)

接收计算

13/ 你的第一个 Dune 数据看板

保存前面每一个 Query ，现在来搭建你的首个 Dune Dashboard 首页点击"New Dashboard"，或直接在 Query 结果页面点击"Add to dashboard"，输入名字即可 建议：首次取名选简短的英文，这会被用在url上，之后再改成完整名称

14/ 分类汇总 group by 另一个常见的数据统计需求：分类汇总 我们汇总统计下 V神 每月的转入、转出ETH总额 第1行 date\_trunc('month', block\_time) 称为截断日期函数，用于将时间间隔截断为指定的精度级别 第2行记得要加 sum 对当月的 ETH 求和 group by 1 即按第一个字段 "date" 进行分类汇总

![](https://storage.googleapis.com/papyrus_images/7b59f4f8d38d5d0d2936808f91952c3d6e0dc488a4dd065a8a7dc6fddb4a801e.png)

15/ 聚合函数

count SUM、AVG、MAX、MIN、COUNT 统称为聚合函数，用于将组中的行汇总为单个值。 之前提到的 sum 用于求和，count 则用于统计查询记录的总数目 比如我们统计下 V神 钱包总计对外发出交易的次数 select count(\*)

![](https://storage.googleapis.com/papyrus_images/e32323eb0cc483aeb68bd09f103db5e4322a9bd5eb7a4b9c0f1f10c6c581ac3e.png)

16/ 累计求和

Cumulative Sum 累计求和，在前一项数据基础上，加上当前数据，不断重复。 一般先按日求和，再不断累加汇总。比如统计某个协议有史以来所有充值到合约地址的ETH总额。 Query 代码有些复杂，但新人小白也有必杀技: Fork并 修改关键参数 修改第8行参数即可 [https://dune.com/queries/732520](https://t.co/kpDQpd6WcN)

![](https://storage.googleapis.com/papyrus_images/a10ed40ecde5fee9d444cf737334eb5cf9cf9a1e734d2bbc87bd2a7af24fd15e.png)

17/ fork 神技能

新人小白最重要的一门技能：fork 神技 站在前辈大神的肩膀之上，能让我们光速入门。越过陡峭的学习曲线，通过修改参数来实现同类功能，获取心仪的数据。 在任一看板的图表区域点击左上角Query名字即可查看完整SQL查询语句。Fork，修改关键参数后运行 [https://dune.com/queries/326596/621471…](https://t.co/dYb7a1IyRa)

![fork](https://storage.googleapis.com/papyrus_images/ac7681e506cb580fa744af90ede448e8094d999c41b6c1ef4f964aa384e01324.png)

fork

---

*Originally published on [Untitled](https://paragraph.com/@0xffdd7d3fbe79052a3cd3a2806fb448468d952ad3/dune)*
