📚 目录导读
- 为什么选择Dune Analytics?——链上数据分析的价值
- Dune Analytics基础环境搭建与界面导航
- SQL查询入门:从简单查询到数据筛选
- 进阶技巧:多表联合查询与数据聚合
- 实战案例:分析DeFi协议交易量变化
- 常见问题与解答(FAQ)
为什么选择Dune Analytics?——链上数据分析的价值
在加密货币与区块链领域,链上数据是洞察市场趋势、项目健康度以及用户行为的“金矿”。Dune Analytics作为行业领先的链上数据分析工具,允许用户通过编写SQL语句直接查询以太坊、Polygon等公链的原始数据,无论是追踪巨鲸地址的转账记录,还是分析Uniswap的流动性变化,Dune都能提供精准、实时的数据支持。

对于使用欧易交易所官网进行交易的用户而言,链上数据与交易所的行情数据结合,能更全面地研判市场情绪,当您发现某个代币的链上转账量突然激增,但交易所挂单深度不足时,可能意味着价格即将剧烈波动,掌握Dune的SQL查询技能,意味着您能独立验证市场信息,做出更理性的交易决策。
温馨提示:在进行欧易交易所下载后,您可以结合链上数据分析工具,同步监控您的资产流动情况。
Dune Analytics基础环境搭建与界面导航
1 注册与登录
访问Dune官网,使用邮箱或GitHub账号注册,登录后,您会看到“Query”页面——这是编写SQL的核心工作区。
2 工作区四大模块
- 查询编辑器:左侧主区域,编写SQL语句。
- 数据表浏览器:右侧面板,展示所有可用数据表(如
ethereum.transactions)。 - 结果预览:运行查询后,数据以表格或图表形式显示。
- 参数设置:支持自定义时间范围、区块链网络等筛选条件。
3 常用数据表简介
| 表名 | 描述 | 典型字段 |
|---|---|---|
ethereum.transactions |
以太坊交易记录 | block_time, from, to, value |
dex.trades |
去中心化交易所交易数据 | token_bought_amount, token_sold_amount, project |
erc20.tokens |
ERC-20代币信息 | symbol, decimals, contract_address |
SQL查询入门:从简单查询到数据筛选
1 基础查询语法
-- 查询最近100笔以太坊交易 SELECT * FROM ethereum.transactions ORDER BY block_time DESC LIMIT 100;
2 按条件筛选数据
-- 查询USDT(合约地址0xdAC17F958D2ee523a2206206994597C13D831ec7)近24小时转账记录 SELECT block_time, "from", "to", value / 1e6 AS amount FROM ethereum.transactions WHERE "to" = '0xdAC17F958D2ee523a2206206994597C13D831ec7' AND block_time >= NOW() - interval '24 hours' ORDER BY block_time DESC;
注意:
value字段的单位是wei,需要除以1e6(USDT的decimals=6)转换为实际金额。
3 实用标签
- LIMIT:限制返回行数,避免超时。
- WHERE:过滤条件,常用时间、地址等。
- LIKE:模糊匹配,查找类似地址或事件。
进阶技巧:多表联合查询与数据聚合
1 JOIN多表查询
当需要关联交易与代币信息时,使用JOIN:
-- 查询Uniswap V3中交易对USDC/ETH的每笔交易详情 SELECT t.block_time, t.token_bought_amount / 1e6 AS usdc_amount, t.token_sold_amount / 1e18 AS eth_amount, t.amount_usd FROM dex.trades t JOIN ethereum.contracts c ON t.token_pair = c.contract_address WHERE t.project = 'uniswap-v3' AND t.token_bought_address = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' -- USDC AND t.token_sold_address = '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' -- WETH LIMIT 10;
2 聚合函数与GROUP BY
-- 统计过去7天各DeFi协议的交易量排名 SELECT project, COUNT(*) AS trade_count, SUM(amount_usd) AS total_volume_usd FROM dex.trades WHERE block_time >= NOW() - interval '7 days' GROUP BY project ORDER BY total_volume_usd DESC LIMIT 20;
3 子查询与CTE
-- 查找转账金额超过总转账量1%的巨鲸交易 WITH total_value AS ( SELECT SUM(value) AS sum_value FROM ethereum.transactions WHERE block_time >= NOW() - interval '1 day' ) SELECT block_time, "from", "to", value / 1e18 AS eth_amount FROM ethereum.transactions, total_value WHERE value > total_value.sum_value * 0.01 ORDER BY eth_amount DESC;
实战案例:分析DeFi协议交易量变化
场景:您想了解近期Uniswap V3的交易量趋势,并比较其与SushiSwap的变化。
步骤1:编写核心查询
SELECT
DATE_TRUNC('day', block_time) AS day,
project,
SUM(amount_usd) AS daily_volume
FROM dex.trades
WHERE project IN ('uniswap-v3', 'sushiswap')
AND block_time >= '2024-01-01'
GROUP BY day, project
ORDER BY day;
步骤2:在Dune中可视化
点击“Visualize”按钮,选择“Line Chart”,将day设为X轴,daily_volume设为Y轴,project设为分组,您将得到一条清晰的对比曲线。
步骤3:数据解读
- 若Uniswap V3交易量持续高于SushiSwap,可能反映主流资金更倾向流动性集中的DEX。
- 若某个协议出现异常峰值,可深入排查当日是否有重大事件(如代币上线、黑客攻击等)。
结合欧易交易所下载的行情数据,您可以将链上数据与交易所价格波动进行交叉验证。
常见问题与解答(FAQ)
Q1:Dune查询超时怎么办?
- 原因:数据量过大或查询未优化。
- 解决:
- 增加
WHERE条件缩小时间范围。 - 使用
LIMIT限制返回行数。 - 避免在
SELECT *扫描所有字段。
- 增加
Q2:如何查找特定代币的合约地址?
- 在Dune的
ethereum.contracts表中搜索symbol字段,或通过区块链浏览器(如Etherscan)查找。
Q3:SQL结果与交易所数据不一致?
- 可能原因:
- 时间戳对齐问题(区块链时间与交易所撮合时间差)。
- 费用未纳入(Dune数据通常为交易前金额)。
- 数据延迟:链上数据有若干区块的确认延迟。
Q4:如何将Dune查询结果导出?
- 点击查询结果右上方的“Download”按钮,支持CSV、JSON、Excel格式。
通过本教程,您已掌握Dune Analytics从基础到进阶的SQL技能,链上数据的世界充满洞察与机会,持续练习并访问欧易交易所官网获取更多市场工具,将帮助您在这个数据驱动的时代占据先机。
标签: 欧易交易所 Dune Analytics