Skip to main content

regtest devnet(bitcoind + 2x lnd)手動 runbook

このドキュメントは、ローカルで regtest devnet(Bitcoin Core + 2 つの lnd ノード)を動かすための手順です。 go-lcpd の Lightning 連携(カスタムメッセージ、invoice binding、支払い)を試すことができます。 この devnet は ./scripts/devnet で管理されます。 状態/ログは ./.data/devnet/ 配下に保存されます(gitignored)。 手順が失敗したら、./.data/devnet/ 配下のログ/状態を確認してください。 必要に応じて LCPD_LOG_LEVEL=debug で再実行してください。 このドキュメントでは、2 つの役割で最小の Quote → Pay → Result を実行します:
  • Alice: Provider。Provider モードは Alice のみ有効化します。外部 API を避けるため LCPD_BACKEND=deterministic を使います。
  • Bob: Requester。

前提

  • Go 1.24.4+
  • bitcoind / bitcoin-cliPATH にあること
  • lnd / lncliPATH にあること
  • jqPATH にあること(この手順で使用します)

go-lcpd の CLI ツールをビルド(初回のみ)

バイナリを go-lcpd/bin/ にインストールします:

起動 / 停止

起動:
ステータス:
停止:

ウォレット初期化 / アンロック(初回)

lnd はウォレット未初期化でも起動できますが、RPC(支払い/チャネル/invoice)を使う前にウォレット作成が必要です。 初回(対話的):
再起動後にアンロックが必要な場合(対話的):
スモークチェック:

オンチェーン資金投入(Alice を miner にする)

  1. Alice の受け取りアドレスを作成:
  1. regtest でブロックを掘って Alice に資金を付与(coinbase maturity のため 101 ブロック掘る):

ノード接続 / チャネル開設 / 支払い(Bob が Alice に支払える状態にする)

1) Bob に接続

2) Alice → Bob へチャネルを開く(Bob が支払えるように push)

3) Bob が Alice の invoice を支払う(接続性/ルート確認)

go-lcpd を試す(カスタムメッセージ / Quote → Pay → Result)

2 つの lnd ノードがピアとして接続できたら、両側で go-lcpd を起動します。 これにより BOLT #1 のカスタムメッセージ上で lcp_manifest が交換されます。 ListLCPPeers で観測できます。 この手順では Alice を Provider として起動し、外部依存なしで lcp_result を返します。 LCPD_BACKEND=deterministic を使います。 Provider 設定は YAML 優先(LCPD_PROVIDER_CONFIG_PATH)です。

0) Provider YAML 設定を作成

例: go-lcpd/provider.devnet.yaml

1) Alice で go-lcpd を起動(Provider / 別ターミナル)

2) Bob で go-lcpd を起動(Requester のみ / 別ターミナル)

3) ListLCPPeers を呼ぶ(manifest 交換の確認)

peers[0].remoteManifest.supportedTasks[].openaiChatCompletionsV1.modelgpt-5.2 が見えれば、Provider が model を広告できています。

4) Bob から Alice にジョブを 1 つ送る(Quote → Pay → Result)

ログ / データの場所

  • state/log: ./.data/devnet/
  • bitcoind log: ./.data/devnet/logs/bitcoind.log
  • lnd log: ./.data/devnet/logs/lnd-alice.log / ./.data/devnet/logs/lnd-bob.log
最初から作り直す(破壊的):