关于 web3-data
此技能指导通过 Chainbase CLI 查询链上数据和加密社交信号,将常见问题对应到命令,并可用 SQL 执行自定义查询。
主要功能
- 01查询区块、交易和代币
- 02查看余额与 DeFi 投资组合
- 03解析 ENS 和 Space ID 名称
- 04调用智能合约函数
- 05查询加密趋势和社交提及
- 06使用 SQL 执行自定义数据查询
适用场景
- 01查看代币价格和持有人列表
- 02检查钱包交易与余额
- 03追踪热门加密话题及提及
- 04查询 CLI 标准命令未覆盖的数据
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ lxcong/ web3-data-skill --skill web3-data安装后在 Claude Code 中输入/web3-data确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CLAUDE.md.gitignoreLICENSEclawhub.jsonREADME.mdreferences/tops-api.mdapi-endpoints.md详细介绍
Web3 数据浏览器(Chainbase)
通过 Chainbase CLI 查询链上数据。
快速参考
安装:npm install -g chainbase-cli(或使用 npx chainbase-cli)
身份验证:通过 chainbase config set api-key YOUR_KEY 设置 API 密钥,或设置环境变量 CHAINBASE_API_KEY。默认使用 demo 密钥。如果受到速率限制,请引导用户前往 https://platform.chainbase.com 获取密钥。
x402 付款:支持通过 --x402 标志按次调用进行小额付款。设置方法:chainbase config set private-key 0x...
# Top token holders
chainbase token top-holders 0xdAC17F958D2ee523a2206206994597C13D831ec7 --chain 1 --limit 10
# Token price
chainbase token price 0xdAC17F958D2ee523a2206206994597C13D831ec7
# ENS resolve
chainbase domain ens-resolve vitalik.eth
# SQL query
chainbase sql execute "SELECT * FROM ethereum.blocks ORDER BY number DESC LIMIT 5"
使用 --json 获取可供机器解析的输出。使用 --chain <id> 指定目标链。
链 ID
| 链 | ID | 链 | ID |
|---|---|---|---|
| Ethereum | 1 | Optimism | 10 |
| BSC | 56 | Base | 8453 |
| Polygon | 137 | zkSync | 324 |
| Avalanche | 43114 | Arbitrum | 42161 |
除非用户另有指定,否则默认使用 Ethereum(链 1)。
路由逻辑
根据用户意图匹配合适的 CLI 命令:
| 用户需求 | CLI 命令 |
|---|---|
| 最新区块号 | chainbase block latest |
| 区块详情 | chainbase block detail <number> |
| 交易详情 | chainbase tx detail <hash> |
| 钱包交易历史 | chainbase tx list <address> |
| 代币信息(名称、符号、供应量) | chainbase token metadata <contract> |
| 代币价格 | chainbase token price <contract> |
| 历史代币价格 | chainbase token price-history <contract> --from <ts> --to <ts> |
| 持有者地址列表 | chainbase token holders <contract> |
| 代币主要持有者/持有哪些代币 | chainbase token top-holders <contract> |
| 代币转账历史 | chainbase token transfers --contract <addr> |
| 原生代币余额(ETH/BNB) | chainbase balance native <address> |
| 钱包的 ERC20 代币余额 | chainbase balance tokens <address> |
| DeFi 投资组合仓位 | chainbase balance portfolios <address> |
| 地址持有的 ENS 域名 | chainbase domain ens <address> |
| ENS 名称 → 地址 | chainbase domain ens-resolve <name> |
| 地址 → ENS 名称 | chainbase domain ens-reverse <address> |
| Space ID 解析(BSC) | chainbase domain spaceid-resolve <domain> |
| Space ID 反向查询(BSC) | chainbase domain spaceid-reverse <address> |
| 调用智能合约函数 | chainbase contract call --address <contract> --function "fn" --abi '[...]' --params '[...]' |
| 上述未涵盖的任何需求 | SQL API:chainbase sql execute "SELECT ..." |
工作流
- 识别意图 — 确定用户需要哪些数据
- 解析标识符 — 如果用户提供代币名称(例如“USDT”),查询其合约地址。常见代币:
- USDT:
0xdAC17F958D2ee523a2206206994597C13D831ec7(ETH) - USDC:
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48(ETH) - WETH:
0xC02aaA39b223FE8D0A0e5c4F27eAD9083C756Cc2(ETH) - DAI:
0x6B175474E89094C44Da98b954EedeAC495271d0F(ETH) - WBTC:
0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599(ETH) - 如果无法识别,请使用
chainbase token metadata <contract>,或向用户询问合约地址
- USDT:
- 选择命令 — 使用上方的路由表;对于复杂/自定义查询,改用 SQL API
- 执行 — 运行 CLI 命令。需要以编程方式解析输出时,添加
--json - 呈现结果 — 清晰地整理数据,列表使用表格,并突出关键见解
全局选项
所有命令均支持以下选项:
| 选项 | 说明 | 默认值 |
|---|---|---|
--chain <id> | 目标链 | 1(Ethereum) |
--json | 可供机器解析的 JSON 输出 | false |
--page <n> | 分页结果的页码 | 1 |
--limit <n> | 每页结果数 | 20 |
--x402 | 启用 x402 小额付款模式 | false |
SQL API 回退
当 CLI 命令无法满足查询需求时,将用户意图转换为 SQL:
chainbase sql execute "SELECT from_address, SUM(value) as total FROM ethereum.token_transfers WHERE contract_address = '0x...' GROUP BY from_address ORDER BY total DESC LIMIT 20"
常见的表模式(将 ethereum 替换为链名称):
{chain}.blocks— 区块数据{chain}.transactions— 交易{chain}.token_transfers— ERC20 转账{chain}.token_metas— 代币元数据{chain}.logs— 事件日志
SQL 限制:每次查询最多返回 100,000 条结果。
如需完整的命令帮助,请运行 chainbase --help 或 chainbase <command> --help。
加密货币社交情报(Tops)
通过 chainbase tops 查询加密货币社交信号。无需 API 密钥,可免费使用。
服务:Tops — 热门叙事、话题发现、Twitter/X 提及。
基础 URL:https://api.chainbase.com/tops(由 CLI 在内部调用)
**速率限制:**10 req/s · 60 req/min · 600 req/hour(按客户端 IP 计算)
快速参考
# List trending crypto topics (default: English)
chainbase tops trending
chainbase tops trending --language zh # Chinese
chainbase tops trending --language ko # Korean
# Get structured details for a topic
chainbase tops topic <topic_id>
# Get posts/tweets under a topic
chainbase tops posts <topic_id>
# Search narrative candidates by keyword
chainbase tops search "RWA"
chainbase tops search "AI Agent"
# Search recent Twitter/X mentions
chainbase tops mentions "Ethereum ETF"
使用 --json 获取机器可解析的输出。
路由逻辑
根据用户意图选择合适的子命令:
| 用户需求 | CLI 命令 |
|---|---|
| 了解当前加密货币领域的热门话题 | chainbase tops trending [--language <lang>] |
| 获取特定话题的详情/摘要 | chainbase tops topic <topic_id> |
| 获取某个话题下的原始推文/帖子 | chainbase tops posts <topic_id> |
| 查找与某个叙事关键词相关的话题 | chainbase tops search <keyword> |
| 查看近期关于某个项目或关键词的 Twitter/X 提及 | chainbase tops mentions <keyword> |
工作流
趋势追踪
chainbase tops trending→ 获取当前热门话题(注意id字段)chainbase tops topic <id>→ 深入查看摘要、关键词和代表性推文chainbase tops posts <id>→ 获取原始推文,用于情绪分析
叙事发现
chainbase tops search <keyword>→ 从宽泛的术语中查找候选话题- 对候选话题进行聚类/汇总,并确定目标话题 ID
chainbase tops topic <id>→ 确认话题详情
实时监控
chainbase tops mentions <keyword>→ 监控有关某个项目/代币的社交提及- 从结果中提取立场、情绪和关键发声者
数据架构
Story(话题):id、keyword、summary、score、current_rank、rank_status(new/up/down/same)、is_new、authors[]、tweet_urls[]、first_tweet_time、snapshot_time
Tweet:id、text、media_json、user → {user_id, name, screen_name, blue_verified, profile_image}