@@ -36,38 +36,41 @@ That starts a mainnet node storing state in `.bitcoin-rs` and serving JSON-RPC
3636on ` 127.0.0.1:8332 ` . See [ docs/getting-started.md] ( docs/getting-started.md ) for
3737backend selection, RPC authentication, and checking sync progress.
3838
39- ### Docker Compose
39+ ### Enforcer integration
4040
41- The enforcer integration Compose configuration builds the production ` fjall ` +
42- ` bitcoinkernel ` profile, stores node and enforcer data under ` data/ ` , exposes
41+ The Compose example under ` tools/bip300301-enforcer ` is specifically for
42+ running bitcoin-rs together with the BIP300/301 enforcer; it is not the general
43+ bitcoin-rs deployment path. It builds the production ` fjall ` + ` bitcoinkernel `
44+ node profile, starts both services, stores their data under ` data/ ` , exposes
4345P2P, and binds RPC to the Docker host's loopback interface only. One
44- ` BITCOIN_RS_NETWORK ` selects the matching bitcoin-rs and enforcer network; the
45- ` drynet4 ` selection derives its mainnet consensus rules, custom P2P magic, fixed
46- peer, and disabled DNS seeding inside bitcoin-rs.
46+ ` BITCOIN_RS_NETWORK ` selects the matching network for both services. The
47+ ` drynet4 ` selection derives its mainnet consensus rules, custom P2P magic,
48+ fixed peer, and disabled DNS seeding inside bitcoin-rs.
4749
48- Set explicit RPC credentials in ` .env ` , then start the node :
50+ Set explicit RPC credentials in ` .env ` , then start bitcoin-rs and the enforcer :
4951
5052``` sh
53+ cd tools/bip300301-enforcer
5154cp .env.example .env
5255# Edit .env and set BITCOIN_RS_RPC_PASSWORD before starting the node.
5356
54- docker compose --env-file .env -f tools/bip300301-enforcer/docker-compose.yaml up --build -d
55- docker compose --env-file .env -f tools/bip300301-enforcer/docker-compose.yaml logs -f node
57+ docker compose up --build -d
58+ docker compose logs -f
5659```
5760
5861Check sync progress inside the container. This uses the credentials already
5962provided by Compose and does not evaluate ` .env ` as shell code:
6063
6164``` sh
62- docker compose --env-file .env -f tools/bip300301-enforcer/docker-compose.yaml exec node sh -c \
65+ docker compose exec node sh -c \
6366 ' curl --user "$BITCOIN_RS_RPC_USER:$BITCOIN_RS_RPC_PASSWORD" \
6467 -H "content-type: application/json" \
6568 -d "{\"jsonrpc\":\"1.0\",\"id\":\"sync\",\"method\":\"getblockchaininfo\",\"params\":[]}" \
6669 http://127.0.0.1:8332/'
6770```
6871
6972Stop the process without deleting its chain data with
70- ` docker compose --env-file .env -f tools/bip300301-enforcer/docker-compose.yaml down ` .
73+ ` docker compose down ` .
7174Compose allows up to 5 minutes for the full clean checkpoint before forcing
7275termination. Chain data remains under ` data/ ` until it is explicitly removed.
7376
0 commit comments