服务与运维
仓库有两个独立进程:发送无需许可调用的 keeper,以及准备发布内容的事件中继。本地配置不证明服务已持续运行。
Keeper
Keeper 检查网络和 Hook/Lens 连接,再查询快照。文档流程优先符合条件的再平衡,否则配置资金,其他操作均不可用时才销毁隔离库存。
发送前模拟,每区块最多一项操作。预期资格拒绝属于正常结果;RPC 错误和意外模拟结果须报告为可处理错误。
从 dry-run 开始
在 services/ 中,安装并按 README 完成本地配置后:
DRY_RUN=true pnpm keeper:once
此模式不提交交易即可核查网络、部署、已解析地址、资格与估算。
运维钱包应专用于 gas,无需是部署者、团队或 guardian。最大 gas 与最小奖励参数限制执行,但不保证盈利。
交易日志与恢复
Keeper 按链、hook、钱包及 dry-run/live 模式隔离状态,使用本地进程锁及持久化意图、nonce、hash 日志。
超时或重启后,先恢复追踪现有交易,再准备新操作。无 hash 的意图含糊不清:修改日志前比较钱包 pending 与已挖出的 nonce。
只有确认旧进程已停止,才移除 .lock。锁是本地的,不能协调多机器。每个实例应使用适合的钱包和状态。
模块变化
当前 Lens 从注册表解析。整个操作期间保留核心身份与修订上下文。
多买墙版需更新 ABI、预览、拒绝原因和事件。未经该版验收,不能宣称单买墙 keeper 已适配验证。
事件中继
services/floor-bot 读取事件、准备文字,保留游标与去重键 transactionHash:logIndex。
Dry-run 与发布模式状态分开。游标含链与 hook 上下文;服务支持网络使用最终确认区块。重组或不一致检查点须先协调再恢复。
中继发布前持久化 pendingPost。若外部服务已接受消息,而进程在记录成功前停止,重试前应确认消息是否存在:本地数据库与社交网络不能共同提交。
GitBook 不执行发布。实际启用中继需独立的运维配置与授权。
为固定买墙调整措辞
旧中继播报 FloorRaised。即时策略中,注资可在低于上次注资的价格建立买墙,同时保留旧价位。
因此中继须说明相关买墙、价位和新增资金,不能仅据事件名推断全局上涨。旧说法“floor 永远上升”不适用此策略。
有用的运维检查
追踪 RPC 错误、配置偏差、待处理回执、模拟失败、keeper gas 余额及最后处理区块的时间。保存恢复日志和版本身份,不包含私有签名数据。
能重启进程的监控不能代替解决 nonce 不明确或注册表变更问题。
来源: services/keeper/README.md, services/floor-bot/README.md, services/keeper/src/index.ts 以及 services/shared.