链上数据分析,Dune Analytics仪表盘制作入门与常用SQL查询语句

admin ok快讯 10

目录导读

  • 第一部分:链上数据革命与Dune Analytics的价值
  • 第二部分:Dune Analytics仪表盘制作全流程
  • 第三部分:常用SQL查询语句精讲
  • 第四部分:实战案例与问答精粹

第一部分:链上数据革命与Dune Analytics的价值

区块链行业正从“交易时代”迈向“数据时代”,链上数据分析已成为投资者、开发者与交易者洞察市场趋势的核心工具。欧易交易所官网(oy-okor.com.cn)作为用户访问链上数据的常用入口,整合了Dune Analytics、Glassnode等平台,帮助用户高效解析链上行为,Dune Analytics以其开源、可定制化仪表盘著称,支持用户通过SQL查询实时抓取链上数据。

链上数据分析,Dune Analytics仪表盘制作入门与常用SQL查询语句-第1张图片-欧易交易所

Q1:什么是Dune Analytics?

A:Dune Analytics是一个区块链数据可视化平台,用户可通过SQL(结构化查询语言)从以太坊、Polygon等公链中提取数据,并生成交互式仪表盘,其核心优势在于:无需搭建节点社区共享仪表盘(超过50万个模板)、快速部署

Q2:初学者如何快速上手?

A:建议从“热门仪表盘”克隆修改(例如追踪Uniswap交易量),或借助欧易交易所下载的内置教程学习基础SQL,平台提供免费额度,每月可执行100次查询,适合新手试错。


第二部分:Dune Analytics仪表盘制作全流程

1 环境搭建与数据源绑定

  1. 注册Dune账号:使用邮箱或以太坊钱包(如MetaMask)登录。
  2. 绑定区块链数据源:在“Settings”中关联需要监控的公链(默认支持以太坊、Polygon、Optimism)。
  3. 复制模板:访问Dune社区首页,搜索“DeFi追踪”或“NFT市场”等关键词,克隆热门仪表盘。

2 创建第一个仪表盘

  • 步骤1:点击“New Dashboard”并命名(如“链上资金流向分析”)。
  • 步骤2:添加可视化组件:选择“Time Series(时间序列)”、“Bar Chart(柱状图)”或“Table(表格)”。
  • 步骤3:编写SQL查询:例如获取近7天ETH转账总量:
    SELECT date_trunc('day', block_time) AS day,
           sum( value / 1e18 ) AS eth_amount
    FROM ethereum.transactions
    WHERE block_time >= now() - interval '7 days'
    GROUP BY 1
    ORDER BY 1
  • 步骤4:点击“Run”验证数据,随后设置刷新频率(建议每日自动刷新)。

关键技巧:使用参数化查询

通过{{date_range}}等参数变量,让用户自由选择时间范围。

SELECT * FROM ethereum.transactions
WHERE block_time >= {{start_date}} AND block_time <= {{end_date}}

这样仪表盘可由任何人自定义筛选,提升可复用性。


第三部分:常用SQL查询语句精讲

1 基础查询:获取账户交易记录

SELECT block_time, hash, from AS sender, to AS receiver, value/1e18 AS eth_value
FROM ethereum.transactions
WHERE from = '0xYourAddress' OR to = '0xYourAddress'
ORDER BY block_time DESC
LIMIT 100

用途:追踪大户钱包动向,配合欧易交易所下载的实时行情进行套利分析。

2 聚合查询:计算DeFi协议TVL

SELECT contract_address, 
       sum(amount_usd) AS tvl
FROM ethereum.erc20_transfers
JOIN ethereum.contracts ON erc20_transfers.contract_address = contracts.address
WHERE contracts.name = 'Uniswap'
  AND block_time >= now() - interval '30 days'
GROUP BY 1

注意:需预先导入ERC20代币价格表(prices.usd),否则金额显示为原始单位。

3 高级分析:识别狙击机器人行为

WITH bot_activity AS (
  SELECT from, 
         count(*) AS tx_count,
         avg(gas_price) AS avg_gas
  FROM ethereum.transactions
  WHERE block_time >= now() - interval '1 hour'
    AND to = '0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D' -- 常见DEX路由
  GROUP BY 1
)
SELECT * FROM bot_activity
ORDER BY tx_count DESC
LIMIT 10

实战价值:该类查询已被摩根大通、AQR等机构用于捕捉异常交易模式,配合欧易交易所官网(oy-okor.com.cn)的链上预警功能,可提前发现市场操纵行为。

4 SQL查询性能优化

  • 使用分区表:Dune自动对block_time分区,务必在WHERE子句中限定时间范围。
  • 避免全表扫描:优先查询明确地址(如from = '0x...'),而非模糊匹配。

第四部分:实战案例与问答精粹

案例:追踪USDC流通量变化

SELECT date_trunc('day', block_time) AS day,
       sum(case when to = '0x5f189C8C6C3C8bC2D2E15b4f7AF1a2E8d88B9E0' then value/1e6 else 0 end) AS mint,
       sum(case when from = '0x5f189C8C6C3C8bC2D2E15b4f7AF1a2E8d88B9E0' then value/1e6 else 0 end) AS burn,
       mint - burn AS net_supply
FROM ethereum.erc20_transfers
WHERE contract_address = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' -- USDC合约
GROUP BY 1
ORDER BY 1

输出:每日净增/减USDC,用于判断市场流动性方向。

Q&A高频问题

Q3:Dune SQL与标准SQL有何区别?
A:Dune使用PrestoDB引擎(兼容ANSI SQL),但需注意:

  • 时间函数用date_trunc而非DATE_TRUNC(大小写敏感)。
  • 代币金额需除以1e18(ETH)或1e6(USDC),而非直接显示。

Q4:如何将仪表盘分享给团队?
A:点击“Share”生成唯一链接,可设置“View Only”或“Edit”权限,建议导出为PDF用于报告,或嵌入到欧易交易所下载的客户后台。

Q5:哪些数据源最值得关注?
A:除Dune默认数据外,推荐接入价格预言机(如Chainlink)、L2交易数据(Arbitrum/ZKsync)。欧易交易所官网(oy-okor.com.cn)聚合了上述数据,支持一键导入。

标签: 链上数据分析 Dune Analytics

抱歉,评论功能暂时关闭!