用途
该技能用于在多个 EVM 兼容网络上查询与分析区块链数据,覆盖 Ethereum、Polygon、Arbitrum、Optimism 和 BSC。适合按交易哈希查交易、按地址查余额与交易历史、查看区块信息、查询 ERC-20 代币余额,以及鲸鱼钱包追踪等场景。所有操作通过一个统一的命令行工具完成。
主要能力
- 交易查询:按哈希返回状态、区块号、from/to 地址、转账金额与 gas 详情;加 --detailed 可解码函数调用、识别交互协议并显示输入参数。
- 地址查询:查看原生代币余额与总交易数;加 --history --limit 50 获取最近 50 笔交易及时间戳、金额与对手方;加 --tokens 列出全部 ERC-20 持仓,含余额、符号与通过 CoinGecko 解析的美元价值。
- 区块查看:block latest 查看最新区块,block <number> 查看指定区块。
- 代币余额:token <wallet> <contract> 查询指定 ERC-20 代币余额,自动解析精度与符号。
- 导出:使用 --format json 或 --format csv 导出结果并重定向到文件。
- 调试:--verbose 显示 API 请求 URL、响应时间、缓存命中/未命中状态与速率限制计数。
使用方式
前置条件包括:Python 3.8+ 并安装 requests 与 web3(pip install requests web3);Etherscan API 密钥(免费层每秒 5 次请求,通过 ETHERSCAN_API_KEY 环境变量设置);可选为 Polygonscan、Arbiscan 等链浏览器配置密钥;插件目录中需有 blockchain_explorer.py CLI 脚本及 chain_client.py、token_resolver.py 模块;以及 RPC 端点访问(公共端点可用,推荐 Alchemy、Infura、Chainstack 或 QuickNode 等专用提供商)。
设置密钥:export ETHERSCAN_API_KEY=<key>。查询交易:python blockchain_explorer.py tx <hash>。指定链:--chain polygon、--chain arbitrum 或 --chain bsc。查询地址:python blockchain_explorer.py address <address>。区块:python blockchain_explorer.py block latest 或 block <number>。代币:python blockchain_explorer.py token <wallet> <contract>。
适用场景
- 跨链交易查找(先在以太坊尝试,未找到再切换 Polygon 等)。
- 完整钱包分析:余额、最近交易与 ERC-20 持仓,用于鲸鱼观察或尽调。
- 查询特定代币余额并导出 JSON,接入仪表盘或告警流程。
限制
使用时可能遇到若干错误情形:交易未找到(待处理、链选择错误或哈希无效);Explorer API 达到最大速率限制(需等待重试或设置密钥、升级付费层);RPC 执行超时(需更换端点或专用提供商);地址无效(长度、校验和或非十六进制字符问题);合约源码未验证(需借助函数签名数据库或检查代理合约);代币未知或价格 N/A(代币过新、过冷门或 CoinGecko 未收录);以及缺少 Python 依赖时的 ImportError。具体实现工作流参见 references/implementation.md。