终极cryo命令参考:200+参数详解助你掌控区块链数据提取
【免费下载链接】cryo cryo is the easiest way to extract blockchain data to parquet, csv, json, or python dataframes 项目地址: https://gitcode.com/gh_mirrors/cr/cryo
cryo是提取区块链数据到parquet、csv、json或python数据帧的最简单方法,通过灵活的命令行参数配置,让新手也能轻松获取所需的区块链数据。
一、快速入门:掌握核心参数
1.1 基础提取命令格式
使用cryo提取区块链数据的基本命令结构如下:
cryo <数据集类型> [参数选项]
例如提取区块数据:
cryo blocks –blocks 1000:2000 –output-dir ./data
1.2 必选核心参数
| –blocks | 指定区块范围 | –blocks 1000:2000 或 –blocks latest-100:latest |
| –output-dir | 设置输出目录 | –output-dir ./data/ethereum |
| –format | 输出文件格式 | –format parquet 或 –format csv |
二、区块范围指定:灵活获取时间窗口数据
2.1 区块范围表示方法
cryo支持多种区块范围表示方式,满足不同的数据提取需求:
- 精确区块号:–blocks 15000000(单个区块)
- 区块范围:–blocks 15000000:15001000(包含起始区块,不包含结束区块)
- 相对最新区块:–blocks latest-1000:latest(最近1000个区块)
- 简写单位:–blocks 15M:15M+1K(15000000到15001000区块)
2.2 区块范围高级用法
通过源码crates/cli/src/parse/blocks.rs可知,区块解析支持以下高级功能:
- 间隔采样:–blocks 1000:2000/10(每10个区块取一个样本)
- 文件导入:–blocks ./block_numbers.parquet:block_number(从文件导入区块号)
- 对齐分块:–align –chunk-size 1000(按指定大小对齐分块)
三、数据过滤:精准获取所需信息
3.1 地址过滤参数
针对需要按地址筛选的数据(如余额、交易等),可使用以下参数:
- –address:指定目标地址
- –from-address:按发起地址过滤
- –to-address:按接收地址过滤
- –contract:指定合约地址
示例:提取特定地址的ERC20转账记录
cryo erc20_transfers –contract 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 –blocks 17000000:17001000
3.2 交易与事件过滤
- –txs:指定交易哈希列表
- –topic0:按事件签名哈希过滤日志
- –exclude-failed:排除失败交易
四、输出配置:定制化数据存储
4.1 文件格式与压缩
- –format:支持parquet(默认)、csv、json、jsonl格式
- –compression:设置压缩算法(gzip、snappy等)
- –overwrite:覆盖已有文件
4.2 分区与分块策略
通过crates/cli/src/parse/partitions.rs的实现,cryo支持灵活的分区策略:
- –partition-by block_number:按区块号分区
- –n-chunks 10:将数据分成10个文件
- –chunk-size 10000:每个文件包含10000个数据项
五、高级功能:提升数据提取效率
5.1 并发与性能优化
- –n-tasks:设置并发任务数
- –rpc-url:指定RPC端点
- –rate-limit:设置请求速率限制
5.2 高级追踪功能
- –js-tracer:指定JavaScript追踪器
- –vm-traces:启用VM追踪
- –trace-calls:记录调用追踪
六、实用示例:常见场景命令
6.1 提取ERC20代币余额
cryo erc20_balances –contract 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 –address 0x123…789 –blocks 17000000
6.2 批量提取多个数据集
cryo blocks transactions logs –blocks 17000000:17001000 –output-dir ./eth_data
6.3 从文件导入区块号
cryo transactions –blocks ./important_blocks.parquet:block_number –output-dir ./tx_data
七、参数速查表
7.1 全局参数
| –help | 显示帮助信息 |
| –version | 显示版本信息 |
| –log-level | 设置日志级别(trace, debug, info, warn, error) |
7.2 数据源参数
| –rpc-url | RPC节点URL |
| –chain-id | 区块链网络ID |
| –reorg-buffer | 重组缓冲区大小 |
7.3 输出参数
| –output-dir | 输出目录路径 |
| –format | 输出格式(parquet, csv, json, jsonl) |
| –compression | 压缩算法 |
| –no-stats | 禁用统计信息 |
通过本文介绍的参数,您可以充分利用cryo的强大功能,轻松提取和分析区块链数据。无论是简单的区块查询还是复杂的合约数据分析,cryo都能提供高效、灵活的解决方案。更多详细参数和高级用法,请参考官方文档book/reference/interfaces/cli.md。
【免费下载链接】cryo cryo is the easiest way to extract blockchain data to parquet, csv, json, or python dataframes 项目地址: https://gitcode.com/gh_mirrors/cr/cryo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考





