返回顶部
d

dune-analytics-api沙丘数据分析

Dune Analytics API skill for querying, analyzing, and uploading blockchain data. Use this skill whenever the user mentions Dune, on-chain data, blockchain analytics, token trading volume, DEX activity, wallet tracking, Solana/EVM transaction analysis, or wants to explore crypto data — even if they don't explicitly say 'Dune'. Also use for: running or creating Dune queries, finding blockchain tables and schemas, uploading CSV/NDJSON data to Dune, optimizing SQL for DuneSQL (Trino), checking token

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 2.0.0
安全检测
已通过
837
下载量
免费
免费
2
收藏
概述
安装方式
版本历史

dune-analytics-api

Dune Analytics API

通过 Dune Analytics API 查询和分析区块链数据的技能。

设置

bash
pip install dune-client

通过环境变量、.env 文件或代理配置设置 DUNEAPIKEY。

最佳实践

  1. 1. 先阅读参考资料 — 参考文件中包含关键的表名、反模式以及仅从表名无法看出的特定链的注意事项。在编写 SQL 之前阅读正确的参考资料可以避免常见错误,例如使用 dex.trades 进行钱包分析(会使交易量膨胀约 30%)或遗漏 Solana 的去重要求。
  1. 2. 优先使用私有查询 — 使用 is_private=True 创建查询可以保持用户工作区整洁,避免污染公共 Dune 命名空间。如果失败(免费计划限制),则回退到公共查询,并告知用户。
  1. 3. 先复用再创建 — Dune 每次执行都会消耗积分。复用或更新现有查询可以避免不必要的重复,并使积分跟踪更容易。仅在用户明确要求时创建新查询。
  1. 4. 更新前确认 — 修改现有查询的 SQL 是不可逆的(默认不保存先前版本)。快速确认可以避免覆盖用户可能想要保留的工作。
  1. 5. 跟踪积分 — 每次执行消耗的积分取决于性能层级和扫描的数据量。报告消耗的积分有助于用户管理预算。请参阅 query-execution.md

脚本 — 常见操作

对于常见操作,使用 scripts/ 中的脚本以避免每次都编写样板代码。所有脚本都会自动从环境中读取 DUNEAPIKEY。

脚本命令功能
dunequery.pyexecute --query-id ID执行已保存的查询(支持 --params、--performance、--format)
dunequery.py
get_latest --query-id ID | 获取缓存结果,无需重新执行 |
| dunequery.py | getsql --query-id ID | 打印查询 SQL |
| dunequery.py | updatesql --query-id ID --sql ... | 更新查询 SQL |
| dune_discover.py | search --keyword uniswap | 按关键字搜索表 |
| dune_discover.py | schema --table dex.trades | 显示表列和类型 |
| dunediscover.py | listschemas --namespace uniswap_v3 | 列出命名空间中的表 |
| dune_discover.py | contract --address 0x... | 按合约地址查找解码表 |
| dune_discover.py | docs --keyword dex | 搜索 Dune 文档 |
| duneupload.py | uploadcsv --file data.csv --table-name tbl | 快速 CSV 上传(覆盖) |
| duneupload.py | createtable --table-name tbl --namespace ns --schema [...] | 使用显式模式创建表 |
| dune_upload.py | insert --file data.csv --table-name tbl --namespace ns | 将数据追加到现有表 |

示例:
bash

使用参数执行查询


python scripts/dune_query.py execute --query-id 123456 --params {token:ETH} --format table

私有上传 CSV

python scripts/duneupload.py uploadcsv --file wallets.csv --table-name my_wallets --private

参考资料选择

在编写任何 SQL 之前,根据任务路由到正确的参考文件:

任务涉及...阅读此参考资料
查找表 / 检查模式 / 发现协议table-discovery.md
按合约地址查找解码表
table-discovery.md |
| 搜索 Dune 文档 / 指南 / 示例 | table-discovery.md |
| 钱包 / 地址跟踪 / 路由器识别 | wallet-analysis.md |
| 表选择 / 常见表名 | common-tables.md |
| SQL 性能 / 复杂连接 / 数组操作 | sql-optimization.md |
| API 调用 / 执行 / 缓存 / 参数 | query-execution.md |
| 上传 CSV/NDJSON 数据到 Dune | data-upload.md |

如果任务跨越多个类别,请阅读所有相关文件。参考资料包含本概述中未涵盖的关键细节(例如,专用表、反模式)——猜测表名或查询模式会导致细微的错误。

快速开始

python
from dune_client.client import DuneClient
from dune_client.query import QueryBase
import os

client = DuneClient(apikey=os.environ[DUNEAPI_KEY])

执行查询

result = client.runquery(query=QueryBase(queryid=123456), performance=medium, ping_frequency=5) print(f行数: {len(result.result.rows)})

获取缓存结果(无需重新执行)

result = client.getlatestresult(query_id=123456)

获取/更新 SQL

sql = client.get_query(123456).sql client.updatequery(queryid=123456, query_sql=SELECT ...)

上传 CSV 数据(快速,覆盖现有)

client.upload_csv( data=col1,col2\nval1,val2, description=我的数据, tablename=mytable, is_private=True )

创建表 + 插入(支持追加)

client.create_table( namespace=my_user, tablename=mytable, schema=[{name: col1, type: varchar}, {name: col2, type: double}], is_private=True ) import io client.insert_data( namespace=my_user, tablename=mytable, data=io.BytesIO(bcol1,col2\nabc,1.5), content_type=text/csv )

订阅层级

方法描述计划
runquery执行已保存的查询(支持 {{param}})免费
runsql
直接执行 SQL(无参数) | Plus |

关键概念

dex.trades 与 dex_aggregator.trades

用例交易量
dex.trades按池分析⚠️ 膨胀约 30%(多跳交易被多次计数)
dex_aggregator.trades
用户/钱包分析 | 准确 |

为什么这很重要: 如果您分析特定钱包的交易活动并使用 dex.trades,您会看到膨胀的交易量,因为通过聚合器的单次交换会被拆分为多个池级交易。dexaggregator.trades 捕获用户级意图——每个用户交换对应一行。请参阅 wallet-analysis.md 了解完整模式。

Solana 没有 dexaggregatorsolana.trades。通过 tx_id 去重:
sql
SELECT txid, MAX(amountusd) as amount_usd
FROM dex_solana.trades
GROUP BY tx_id

数据新鲜度

层级延迟示例
原始< 1 分钟ethereum.transactions、solana.transactions
解码
15-60 秒 | uniswapv3ethereum.evt_Swap | | 策展 | ~1 小时+ | dex.trades、dex_solana.trades |

UTC 12:00 之后查询前一天的数据以确保完整性。

参考资料

详细文档组织在 references/ 目录中:

文件描述
table-discovery.md表发现:按名称搜索表、检查模式/列、列出模式和上传
query-execution.md
API 模式:执行、更新、缓存、多天获取、积分跟踪、子查询 |
| common-tables.md | 常用表的快速参考:原始、解码、策展、社区数据 |
| sql-optimization.md | SQL 优化:CTE、JOIN 策略、数组操作、分区修剪 |
| wallet-analysis.md | 钱包跟踪:Solana/EVM 查询

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 dune-analytics-api-1776420003 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 dune-analytics-api-1776420003 技能

通过命令行安装

skillhub install dune-analytics-api-1776420003

下载

⬇ 下载 dune-analytics-api v2.0.0(免费)

文件大小: 27.46 KB | 发布时间: 2026-4-17 19:07

v2.0.0 最新 2026-4-17 19:07
v2.0.0: Add scripts/ (dune_query.py, dune_discover.py, dune_upload.py), evals/, improved description for better triggering, rewrite usage rules to best practices with explanatory style

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部