Substreams Search

搜索、检查和分析 substreams.dev 注册表中的 Substreams 包,包括模块图、Protobuf 类型和 Sink 部署命令。

安装

概览

什么是Substreams Search

Substreams Search 是一个专为 Substreams 开发者设计的命令行工具,用于在 substreams.dev 公共注册表中搜索、检查和分析 Substreams 包。它提供从模块发现到 Sink 部署命令生成的完整工作流支持,帮助开发者快速定位所需的数据处理模块并理解其内部结构。该工具无需 API 密钥或本地数据库,完全依赖公开接口运行,极大降低了使用门槛。

通过集成多个实用功能,Substreams Search 让开发者能够高效探索不同区块链网络(如 Ethereum、Solana、Arbitrum、Base 等)上的 Substreams 包资源。无论是查找特定关键词的模块,还是深入分析某个 .spkg 文件的依赖关系与数据流向,该工具都能提供清晰的结构化输出。此外,它还支持生成可直接运行的 Sink 配置命令,适用于 PostgreSQL、ClickHouse 等多种后端存储。

整个系统基于 Node.js >= 18 环境构建,可通过 npx 直接调用而无需复杂安装流程。对于需要快速验证 Substreams 包功能或准备生产环境部署的团队来说,Substreams Search 提供了一个轻量级但强大的辅助入口,显著提升开发效率与决策准确性。

核心功能特点

  1. 支持按关键词、排序方式和区块链网络搜索 substreams.dev 注册表中的 Substreams 包
  2. 可解析 .spkg 文件并展示模块图(DAG)、Protobuf 输出类型及依赖关系
  3. 提供 Mermaid 格式的可视化模块流程图,便于理解数据流转逻辑
  4. 列出包内所有模块及其输入输出类型信息,实现轻量级模块概览
  5. 分析 Sink 配置,自动提取 SQL 模式并生成可直接执行的 CLI 部署命令
  6. 无需 API 密钥,全部操作基于公开接口完成,降低接入成本

适用场景

Substreams Search 特别适用于那些正在寻找特定区块链数据源的 Substreams 开发者。例如,当项目需要从 Ethereum 上追踪 DeFi 协议的交易记录时,开发者可以使用 search_substreams 工具筛选出包含相应模块的热门包,并通过 inspect_package 查看其模块图和数据类型,从而判断是否满足业务需求。这种能力使得前期调研阶段更加高效,避免了盲目尝试多个包带来的时间浪费。

另一个典型应用场景是在准备将 Substreams 数据导入外部数据库时。get_sink_config 功能允许用户一键生成针对 PostgreSQL 或 ClickHouse 的 Sink 部署命令,包括表结构定义和连接参数配置。这对于希望快速搭建数据管道并投入实际使用的团队尤其有价值,因为手动编写这些配置容易出错且耗时较长。同时,list_package_modules 提供了模块级别的详细信息,帮助用户在不打开完整文档的情况下确认某个包是否包含所需的 Sink 兼容模块。

总体而言,无论是新项目启动时的技术选型,还是在已有系统中进行模块替换或扩展,Substreams Search 都扮演着关键的角色。它的设计初衷就是简化 Substreams 生态中的资源发现与集成过程,使开发者能更专注于核心业务逻辑而非繁琐的配置细节。借助这一工具,即使是刚接触 Substreams 的新手也能迅速上手,而经验丰富的工程师则能进一步提升工作效率。