Pipes 新索引器技能提供了一套交互式脚手架工具,用于生成生产就绪的区块链索引器项目。该工具通过命令行界面(CLI)运行,使用 @iankressin/pipes-cli 包,内置针对常见用例的模板。
用途:该技能主要面向需要从零创建索引器、使用模板生成项目、开始索引新区块链协议或为 Hyperliquid 永续合约成交构建索引器的开发者。
主要能力:
- EVM 模板:支持 erc20Transfers(跟踪 ERC20 代币转账)、uniswapV3Swaps(通过工厂模式跟踪 Uniswap V3 交换事件)以及 custom(自定义合约事件,需要完整的 ABI 事件对象)。
- Solana(SVM)模板:提供 custom 空白模板用于自定义逻辑。但需注意,SVM 自定义模板可能因输入错误而失败,此时需手动搭建项目结构。
- Hyperliquid 成交索引:SDK 原生支持,但暂无 CLI 模板,需手动配置。使用 hyperliquidFillsQuery 和 hyperliquidFillsPortalStream 来查询和流式处理成交数据。
- 支持输出到 ClickHouse(推荐用于高性能分析)和 PostgreSQL(关系型数据库,配合 Drizzle ORM)。
使用方式:
- 通过 npx @iankressin/pipes-cli@latest init 启动交互式脚手架。
- 使用 --schema 参数查看所有可用模板及其参数模式。
- 对于 Solana Anchor 程序,推荐使用 @subsquid/solana-typegen 从 IDL 生成类型化解码器,避免手动计算鉴别器。
- 对于非 Anchor 程序(如 SPL Token、SPL Stake Pool),需手动解码单字节 Borsh 枚举鉴别器(d1),并通过 Portal 查询发现鉴别器值。
- Hyperliquid 索引需手动设置项目,使用 hyperliquidFillsQuery 构建查询,并通过 hyperliquidFillsPortalStream 获取数据流。
适用场景:
- 需要快速搭建 ERC20 或 Uniswap V3 索引器的 EVM 开发者。
- 需要索引 Solana 上 Anchor 或非 Anchor 程序指令的开发者。
- 需要追踪 Hyperliquid 永续合约成交数据的分析师或交易者,例如鲸鱼跟踪、多币种成交量分析等。
限制与注意事项:
- 模板 ID 必须使用 camelCase 格式,且每个模板有特定必需参数,需检查 schema。
- Solana 非 Anchor 程序需手动解码,且部分程序链上指令量低,建议构建前先用 Portal 估算指令量。
- 跨程序调用(CPI)需在请求中添加 innerInstructions: true,否则可能捕获不到数据。
- Hyperliquid 数据集从区块 750,000,000 开始,时间戳为毫秒,需用 new Date(block.header.timestamp).toISOString() 处理。
- 推荐使用 Node.js LTS(v20 或 v22),Node.js v25.x 存在 zstd 解压缩缺陷,可能导致大数据同步时崩溃。
- SDK 1.0 支持基于时间的范围(ISO 日期字符串或 Date 对象),自动解析为区块号。
该技能未提供官方收费信息、价格或具体效果保证,以上内容均基于技能文档整理。