diff options
| author | Adam Soltys <[email protected]> | 2026-06-27 11:00:08 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-06-27 11:00:08 -0700 |
| commit | e0a4a5e9d332f998456b637f5d8ba38563d19827 (patch) | |
| tree | 099ec5b42f5bdd545e82243dfe6b5faddf1edff1 /sampledata | |
| parent | 45a988b3554f44abd03a2d89f1b9087c993186c1 (diff) | |
| download | coinos-server-regtest-fulcrum.tar.gz coinos-server-regtest-fulcrum.zip | |
regtest: add Fulcrum (Electrum/WS) with ZMQ push for Hal realtimeregtest-fulcrum
Adds a regtest Fulcrum service matching what prod runs, replacing the old
electrs + ews bridge as the data/realtime backend for the Hal browser wallet.
It connects to `bc` and gets instant block/mempool notifications over bitcoind's
ZMQ (hashblock/hashtx), serving them to the browser over an Electrum WebSocket
(:50003) — sub-second deposit + confirmation updates on regtest.
- docker/fulcrum.Dockerfile: Fulcrum on ghcr.io/coinos/base (shares layers with
the rest of the stack instead of a separate image tree).
- compose.fulcrum.yml: opt-in overlay (`-f compose.fulcrum.yml up -d`), config +
datadir under the gitignored data/ (seeded from sampledata by setup.sh).
- sampledata/fulcrum/fulcrum.conf: regtest config pointed at `bc`, ZMQ enabled.
- sampledata/bitcoin/bitcoin.conf: add zmqpubhashblock/hashtx (18508/18509) so
Fulcrum can subscribe for instant notifications.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Diffstat (limited to 'sampledata')
| -rw-r--r-- | sampledata/bitcoin/bitcoin.conf | 3 | ||||
| -rw-r--r-- | sampledata/fulcrum/db/.gitkeep | 0 | ||||
| -rw-r--r-- | sampledata/fulcrum/fulcrum.conf | 17 |
3 files changed, 20 insertions, 0 deletions
diff --git a/sampledata/bitcoin/bitcoin.conf b/sampledata/bitcoin/bitcoin.conf index 3aa44186..6036a3f9 100644 --- a/sampledata/bitcoin/bitcoin.conf +++ b/sampledata/bitcoin/bitcoin.conf @@ -20,3 +20,6 @@ walletnotify=/home/bitcoin/.bitcoin/transaction.sh %s %w zmqpubrawblock=tcp://0.0.0.0:18506 zmqpubrawtx=tcp://0.0.0.0:18507 +# hashblock/hashtx for Fulcrum's instant (ZMQ) block + mempool notifications +zmqpubhashblock=tcp://0.0.0.0:18508 +zmqpubhashtx=tcp://0.0.0.0:18509 diff --git a/sampledata/fulcrum/db/.gitkeep b/sampledata/fulcrum/db/.gitkeep new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/sampledata/fulcrum/db/.gitkeep diff --git a/sampledata/fulcrum/fulcrum.conf b/sampledata/fulcrum/fulcrum.conf new file mode 100644 index 00000000..cafdc05d --- /dev/null +++ b/sampledata/fulcrum/fulcrum.conf @@ -0,0 +1,17 @@ +# Fulcrum for the local regtest stack (mirrors prod's config, pointed at `bc`). +# Serves the Electrum protocol over TCP (50001) and WebSocket (50003) — the WS +# is what the Hal browser wallet connects to for data + realtime push. Block and +# mempool notifications arrive over bitcoind's ZMQ (auto-discovered via the +# getzmqnotifications RPC), so polltimesecs is just a slow safety net. +datadir = /data +bitcoind = bc:18443 +rpcuser = admin1 +rpcpassword = 123 +tcp = 0.0.0.0:50001 +ws = 0.0.0.0:50003 +peering = false +announce = false +db_mem = 1000 +bitcoind_clients = 1 +polltimesecs = 5 +zmq_allow_hashtx = true |
