SuperAPI AI 工具集

subsystem-summary-of-historywork

部署与运维

查看项目

更新于 10-16 07:58

技能介绍

historywork 子系统实现了 stellar-core 与历史归档交互的具体工作单元,为发布账本历史到归档以及在追赶时下载与验证历史提供构建块。所有类继承自 src/work/ 中的 Work/BasicWork/BatchWork 框架。\n\n用途:为历史归档的上传、下载、验证提供可复用的 Work 单元,包括文件传输、桶下载校验、交易结果校验、归档状态读写以及发布流水线。\n\n主要能力:\n- 基础执行:RunCommandWork 通过 ProcessManager 执行外部命令,子类重写 getCommand() 返回 CommandInfo;Progress 格式化进度字符串。\n- 文件传输:GetRemoteFileWork 下载单文件(可随机选可读归档)、PutRemoteFileWork 上传、MakeRemoteDirWork 建目录、GzipFileWork/GunzipFileWork 压缩解压。\n- 复合下载:GetAndUnzipRemoteFileWork 先下载再解压并校验;BatchDownloadWork 按 CheckpointRange 批量下载指定 FileType。\n- 桶处理:DownloadBucketsWork 对 LiveBucket 与 HotArchiveBucket 执行下载→校验并建索引→adopt;VerifyBucketWork 在后台线程校验 SHA-256 并建索引,受 MAX_HISTORY_ARCHIVE_BUCKET_SIZE 限制。\n- 交易结果校验:VerifyTxResultsWork 对比 txSetResultHash 与计算结果哈希;DownloadVerifyTxResultsWork 批量下载并校验。\n- 归档状态:GetHistoryArchiveStateWork 下载解析 HAS JSON;PutHistoryArchiveStateWork 序列化并上传到序列路径与 /.well-known/stellar-history.json。\n- 发布流水线:ResolveSnapshotWork、WriteSnapshotWork、PutSnapshotFilesWork、PutFilesWork、PublishWork,仅 gzip 与归档现态不同的文件,完成后通知 HistoryManager。\n- 验证与自检:CheckSingleLedgerHeaderWork 离线自检;WriteVerifiedCheckpointHashesWork 链式校验账本头生成 json 哈希文件;FetchRecentQsetsWork 扫描近期 SCP 消息提取法定集合。\n\n使用方式:作为 stellar-core 内部子系统,继承对应 Work 框架组合 WorkSequence 使用;无独立安装命令或对外 API 说明(资料未提供命令行调用方式与安装步骤)。\n\n限制:具体重试策略、配置项与运行前置条件在资料中仅部分提及(如 RETRY_A_LOT、RETRY_NEVER、默认每批 64 个检查点),其余未说明;不支持独立部署使用,属于内部实现。