Local Bitcoin SV regtest network with ARC transaction processor for Monocelo e2e testing.
./scripts/setup.shThis clones the ARC repository, builds the Docker image, starts all services, and mines 101 blocks to mature coinbase rewards.
- Docker & Docker Compose v2
- Git
- ~4 GB RAM available for containers
| Service | Host Port | Purpose |
|---|---|---|
| node1 (BSV) | 18332 (RPC), 18333 (P2P), 28332 (ZMQ) | Primary regtest node / miner |
| node2 (BSV) | — | Secondary peer |
| ARC API | 9090 (HTTP), 8033 (gRPC) | Transaction broadcast & status |
| PostgreSQL | 15432 | ARC databases |
| NATS | 4222, 4223 | Message queue |
| Redis | 6379 | Cache |
Point Monocelo at localnet with these properties:
# ARC
monocelo.arc.base-url=http://localhost:9090
monocelo.arc.api-key=
# P2P header sync
monocelo.p2p.enabled=true
monocelo.p2p.network=REGTEST
monocelo.p2p.seed-peers=localhost:18333
monocelo.p2p.min-peers=1| Script | Usage |
|---|---|
scripts/setup.sh |
Full bootstrap (clone, build, start, mine) |
scripts/mine.sh [count] [address] |
Mine regtest blocks |
scripts/fund.sh <address> [amount] |
Send BSV to an address |
# Tail ARC logs
docker compose logs -f api
# Check ARC health
curl http://localhost:9090/v1/health
# Query blockchain
docker exec localnet-node1 /entrypoint.sh bitcoin-cli getblockchaininfo
# Stop everything
docker compose down
# Stop and wipe all data
docker compose down -vHost (Monocelo)
│
├── P2P :18333 ──► node1 ◄──► node2
│
└── HTTP :9090 ──► ARC API ──► Metamorph ──► BlockTx
│ │
▼ ▼
Callbacker PostgreSQL
│
NATS
Bitcoin nodes run in regtest mode with genesis activation at height 1. ARC monitors both nodes via P2P and ZMQ, processes transactions, and tracks their lifecycle through to block confirmation.