サービスと運用
リポジトリには許可不要呼出しを送る keeper と投稿を準備するイベント中継の二つの独立プロセスがあります。ローカル設定は連続稼働の証拠ではありません。
Keeper
keeper はネットワークと Hook/Lens 接続を確認後、snapshot を読みます。記載経路は可能なリバランスを優先し、次に資金配置、他が不可なら分離トークンをバーンします。
送信前に模擬実行し、1 ブロック最大 1 操作です。想定資格拒否は正常結果で、RPC エラーや想定外の模擬結果は対応可能なエラーとして報告します。
dry-run から始める
services/ 内でインストールと README に沿ったローカル設定後:
DRY_RUN=true pnpm keeper:once
このモードは取引送信なしでネットワーク、デプロイ、解決アドレス、資格、見積もりを確認できます。
運用ウォレットは gas 専用とし、deployer、チーム、guardian である必要はありません。最大 gas・最小報酬設定は実行を制限しますが利益を保証しません。
取引ログと復旧
keeper はチェーン、hook、ウォレット、dry-run/live ごとに状態を分離し、ローカルプロセスロックと永続的な intent・nonce・hash ログを使います。
timeout や再起動後は既存取引を追跡してから次を準備します。hash なしの intent は曖昧なので、ログ変更前にウォレットの pending と採掘済み nonce を比較します。
旧プロセスの停止確認後にのみ .lock を削除します。ロックはローカル用で複数マシンを調整しません。各インスタンスに適切なウォレットと状態を使います。
モジュールの変更
現行 Lens はレジストリから解決します。操作中は中核識別情報と改訂コンテキストを保持します。
複数買い壁版は ABI、プレビュー、拒否理由、イベントの更新が必要です。受入検証なしに単一買い壁用 keeper が新版で検証済みとは言えません。
イベント中継
services/floor-bot はイベントを読み、文章を準備し、cursor と重複除外キー transactionHash:logIndex を保持します。
dry-run と投稿モードは別状態です。cursor はチェーン・hook 情報を含み、対象ネットワークでは finalized ブロックを使います。再編や不整合 checkpoint は復旧前に整合させます。
中継は投稿前に pendingPost を永続化します。外部サービスが受理後、成功記録前に停止したら再試行前に投稿の存在を確認します。ローカル DB と SNS は同時 commit できません。
GitBook は投稿を実行しません。中継の実運用には別の設定と運用許可が必要です。
固定買い壁に表現を合わせる
旧中継は FloorRaised を通知しました。現在時点のポリシーでは、旧水準を保ったまま前回より低い価格に買い壁を作れます。
中継は対象買い壁、水準、追加資金を示し、名前だけで全体上昇を推定してはいけません。「floor は常に上がる」という旧表現はこのポリシーを説明しません。
有用な運用確認
RPC エラー、設定差異、待機レシート、模擬失敗、keeper gas 残高、最終処理ブロックからの時間を追跡します。秘密の署名データを含めず復旧ログと版識別情報を保ちます。
プロセス再起動の監視は、曖昧な nonce やレジストリ変更の解決を代替しません。
出典: services/keeper/README.md, services/floor-bot/README.md, services/keeper/src/index.ts および services/shared.