关于 indexer-core
为 indexer-core 项目的集成、配置、维护和迁移任务提供指导的技能,适用于该库的使用者与维护者。它强调先查阅对应参考资料,并遵循索引器模式选择、回滚和重组恢复约定。
主要功能
- 01按任务主题查阅参考资料
- 02区分 LogsIndexer 与 BlockIndexer
- 03默认通过 IndexerFactory 构建
- 04保留回滚与重组恢复语义
- 05提供 7.x 到 8.x 迁移指导
- 06要求测试、格式与文档验证
适用场景
- 01为服务集成 indexer-core
- 02选择索引器模式并配置依赖
- 03排查快速同步、回滚或重组行为
- 04维护库并处理 7.x 到 8.x 迁移
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ vechain/ vechain-ai-skills --skill indexer-core安装后在 Claude Code 中输入/indexer-core确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/data-modeling.mdevent-pipeline.mdmaintenance-and-migration.mdmode-selection.mdruntime-model.md详细介绍
Indexer Core 技能
关键规则
- 先阅读参考文件。 当用户的请求涉及下表中的主题时,请先阅读对应文件,再编写代码、提出架构方案或回答行为相关问题。
- 将模式选择视为正确性决策。
LogsIndexer和BlockIndexer不能互换。不要把它们说成仅性能特点不同的等效选项。 - 默认使用
IndexerFactory。 对于常规库用法,应使用IndexerFactory配置并构建索引器,而不是手动连接实现类。 - 将启动回滚视为有意设计。 它是数据完整性模型和链重组恢复工作流的一部分,不是 Bug。
- 优先使用随附的参考资料,而非临时翻查代码。 如果你在
indexer-core仓库中工作,请遵循仓库本地文档和AGENTS.md。主要通过源代码确认实现细节或排查差异。
范围
将此技能用于 indexer-core 相关任务,例如:
- 将该库集成到其他服务中
- 在
LogsIndexer和BlockIndexer之间进行选择 - 配置
IndexerFactory、IndexerProcessor和IndexerRunner - 设计 ABI 事件、VET 转账或业务事件索引方案
- 排查依赖顺序、快速同步、回滚和链重组行为
- 在保留文档所述行为的前提下修改该库
- 回答面向 7.x 到 8.x 用户的迁移问题
操作流程
1. 对任务分类
判断用户需要的是:
- 使用方指南:集成或配置该库
- 库维护:修改
indexer-core本身
对于使用方指南,应优先确保模式选择和集成建议正确,再讨论内部实现。
对于库维护,除非任务明确要求更改契约,否则应保留文档所述契约。
2. 阅读匹配的参考资料
使用下表,仅加载当前请求所需的文件。
3. 实施前明确高风险选择
以下事项不明确时,请先询问:
- 用户需要完整区块访问权限,还是只需要已解码的事件
- 一个索引器是否必须在另一个索引器处理区块之前完成处理
- 下游使用方需要原始 ABI 事件,还是更高层级的业务事件
- 该任务属于行为变更、文档变更,还是调试任务
4. 按照 indexer-core 的正确性要求实施
- 通过
IndexerFactory构建常规索引器 - 以仓库文档为公开行为的权威说明
- 除非任务明确要求更改,否则保留回滚和链重组语义
- 不要根据单一实现细节或类型签名推断公开契约
5. 验证并交付
只有通过所有适用的检查,任务才算完成:
- 针对性验证受影响的行为
- 如果变更涉及多个方面,运行更全面的测试:
./gradlew test - 如果修改了 Kotlin 代码,使用
./gradlew spotlessCheck或./gradlew spotlessApply检查格式 - 如果公开行为或示例有变更,确保文档保持一致
参考文件
在进行任何操作之前,请先阅读匹配的文件。
| 主题 | 文件 | 用户提及时阅读…… |
|---|---|---|
| 运行时模型、生命周期、回滚、依赖项 | references/runtime-model.md | IndexerProcessor、IndexerRunner、生命周期、状态、回滚、链重组、依赖排序 |
LogsIndexer 与 BlockIndexer 的区别及工厂选择 | references/mode-selection.md | LogsIndexer、BlockIndexer、includeFullBlock、dependsOn、快速同步、完整区块访问 |
| ABI 事件、业务事件、VET 转账、筛选 | references/event-pipeline.md | ABI、业务事件、VET_TRANSFER、事件条件、转账条件、classpath JSON |
| 仓库维护与迁移 | references/maintenance-and-migration.md | 测试、格式化、文档权威性、7.x 与 8.x 迁移、IndexingResult 重命名 |
| 数据建模、BigDecimal、DECIMAL128、货币字段 | references/data-modeling.md | BigDecimal、DECIMAL128、代币金额、质押、余额、货币字段、大数 |
评论
支持 Markdown