Dune查询比特币数据:零基础也能上手的链上分析指南
分析比特币链上数据,多数人第一反应是Glassnode、CryptoQuant——现成指标做成漂亮图表,你基本就是"读报告"的角色。但Dune不一样,它是开放的区块链数据平台,任何人都能用SQL查链上数据、建自定义仪表板,不用搭后端服务器。目前Dune已支持超过100条链,比特币作为UTXO链也被正式纳入数据目录。 各大交易所:欧易官网 币安官网 芝麻Gate
Dune和Glassnode最大的区别在于控制权。Glassnode的MVRV、SOPR是现成的,方便但只能看平台设计好的东西;CryptoQuant在交易所储备、矿工流量上更直接;而Dune给你"自己提问"的能力——编辑查询、fork别人的仪表板、检查数据来源和方法论。2026年Ordinals、BRC-20、Runes和BTC ETF让链上活动变得极其复杂,一张价格图已经解释不了所有事,Dune能把不同维度拆开来看。
四种打开方式,不会SQL也能用
很多人以为Dune一定要会写SQL,其实没那么苛刻。
最推荐新手的方式:直接浏览现成仪表板。Dune首页Discover页面搜"Bitcoin",按Trending看当前热门,按Most Popular看历史最受欢迎的。不打算自己写查询的话,光看这些面板就够用了。
第二种:fork别人的查询改参数。每个公开查询都带完整SQL代码,找到接近需求的fork一份,改几个参数就能出结果。注意避开老旧查询,执行时如果提示"deprecated dataset"就换新表结构。
第三种:从零写SQL,适合有基础想做定制化分析的。
第四种:用Spellbook的标准化数据。Spellbook是Dune的开源数据模型仓库,维护了超过4000个清洗过的标准化模型,查DEX交易量直接调标准化表,不用自己处理原始数据。BTC相关模型也在不断扩充。
比特币三张核心表,搞懂这三张就够了
比特币是UTXO模型,和EVM链的账户模型完全不同,数据组织方式也不一样。三张核心表:
bitcoin.transactions存每笔交易的元数据——区块时间、区块高度、交易ID、手续费、体积、输入输出数量,以及是否为coinbase交易。
bitcoin.inputs记录被花费的UTXO——来源地址、输入金额、花费来源的交易ID、所属交易ID。
bitcoin.outputs记录交易产生的UTXO——接收地址、锁定金额、所属交易ID、输出脚本类型。
三张表通过tx_id关联:transactions.id = inputs.tx_id = outputs.tx_id。想完整理解一笔交易的资金流向,inputs和outputs两张表都得看,只查transactions只能看到元数据。

手把手写第一条查询:统计每日交易量和活跃地址
理解表结构后直接上手。统计最近30天每日交易量和活跃地址数,完整SQL如下:
sqlWITH daily_stats AS ( SELECT DATE(block_time) AS day, COUNT(DISTINCT id) AS tx_count, COUNT(DISTINCT sender_address) AS active_senders FROM ( SELECT t.block_time, t.id, i.address AS sender_address FROM bitcoin.transactions AS t LEFT JOIN bitcoin.inputs AS i ON t.id = i.tx_id AND i.index = 0 ) GROUP BY DATE(block_time))SELECT day, tx_count, active_sendersFROM daily_statsWHERE day >= CURRENT_DATE - INTERVAL '30' DAYORDER BY day DESC
逻辑很直白:把子查询里每笔交易和第一个输入地址关联(i.index = 0保证只取第一个input),按天汇总交易数和唯一发送方地址数,筛最近30天降序展示。
想加手续费汇总也简单:
sqlSELECT DATE(block_time) AS day, COUNT(DISTINCT id) AS tx_count, SUM(fee) AS total_fee_btc, AVG(fee) AS avg_fee_btcFROM bitcoin.transactionsWHERE block_time >= CURRENT_DATE - INTERVAL '30' DAYGROUP BY DATE(block_time)ORDER BY day DESC
复制到Dune查询编辑器直接跑。新用户先注册免费账号,左上角选数据源为"Bitcoin",粘贴代码点Run。结果可以一键生成图表,也能加到Dashboard持续追踪。
不写代码也能用:四个高分BTC仪表板

不想写SQL的话,社区已经有大量高质量面板,这几个目前热度高且实用:
BTC & ETH On-Chain Pulse:专注BTC和ETH的每周链上决策框架,覆盖网络活跃度、CEX资金流动、ETH质押、BTC区块空间使用,每周只展示核心图表附三行解读,适合定期追踪。
21Shares"比特币关键指标"面板:汇总流通供应量、市值、通胀率、减半倒计时、年化波动率、与黄金相关性、链上月活地址和交易量、区块大小、Ordinals数据,基本面覆盖很全。
Keyrock"12 Charts to Watch in 2026":做市商Keyrock和Dune联合发布,把2026年市场叙事框架固定在可量化的市场结构指标上,想从宏观理解市场走向的值得看。
Ordinals & BRC-20专题:@domodata的铭文面板分析铭文总数、费用和类型分布;@CryptoKoryo的BRC-20面板追踪代币交易笔数、费用和铸造数据。
Discover页面搜面板名称直接用,免费计划够大部分个人研究了。
几个容易踩的坑
UTXO模型和EVM模型完全不同,只查transactions表看不到地址级资金流向,必须结合inputs和outputs。
所有BTC表的时间戳是block_time(区块被挖出的时间),不是交易广播时间,高频分析要考虑这个偏差。
coinbase交易(每个区块第一笔,矿工挖矿奖励)没有inputs,判断条件是is_coinbase = TRUE。统计交易量和资金流向时通常要过滤掉,不然数据会偏。
Dune V2后已迁移到Databricks SQL,老查询用的表名已经弃用,BTC查询务必用bitcoin.transactions、bitcoin.inputs、bitcoin.outputs这三张新表。
最后说一句
Dune的价值不在于给你准备好答案,而在于给你"提问"的入口。价格追踪器只告诉你价格到了哪里,Dune让你能问更具体的问题:本周BTC交易量里多少来自Runes或Ordinals?ETF资金流入过去一个月怎么变的?哪些地址在持续累积、哪些在系统性减持?这些问题一张价格图解决不了。
不管你是零基础靠浏览面板获取信号,还是写定制SQL提炼独家洞察,Dune都有对应的入口。从一个具体问题出发动手,是掌握它最有效的方式。
免责声明:Dune比特币数据查询教程,不构成投资建议。平台界面和数据表可能随版本更新变化,以dune.com实时显示为准。链上数据统计口径可能因数据源不同产生差异,风险自担。





