04 / 開発する読了 5 分

サービスと運用

リポジトリには許可不要呼出しを送る 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.

CUBIT / 2026 年 9 月 10 日 出典と方法