Doichain stack v31.1.5 + ElectrumX 2.0
The first tagged state of this repository: one combination of images and compose files that has been run end to end.
| Component | Image |
|---|---|
| Doichain Core | doichain/core:v31.1.5 |
| ElectrumX | doichain/electrumx:v2.0.0-doi1 — built from Doichain/electrumx v2.0.0-doi1, commit 11877d7b |
| Bitcoin (merge-mining parent) | doichain/bitcoind:v0.20.0 |
| p2pool | doichain/p2pool:v34.0 |
| dApp | doichain/dapp:v0.0.9.117 with mongo:3.2 |
What changed with this tag
- All three stacks now run Doichain Core 31.1 and follow the DigiShield chain. The two Double Opt-In stacks pulled a 0.20.x image until now, which follows the branch the network left behind at block 431,017.
- ElectrumX moved from 1.15.0 (2020) to upstream 2.0.0, on Python 3.14 with RocksDB. The name index is now reachable for wallets — 1.15.0 built it but exposed no RPC for it.
- Neither the node RPC nor MongoDB is published on the host in any stack. Both used to be, the RPC together with
rpcallowip=0.0.0.0/0; they are now reachable inside the compose network only. - Documentation reorganised: the README is an entry point again, and the 31.1 notes are split into what runs today (
docs/stack-31.1.md) and the relaunch work log (docs/history-2026-09.md).
Verified
From empty volumes on Docker Desktop: the node had every block after ~20 minutes and the ElectrumX index was complete after ~22, with the tip hash identical to a fleet node's at the same height, 0 errors, and the name index answering blockchain.name.get_value_proof for the name_doi in block 431,320.
Upgrading
An Opt-In install from the 0.20.x era needs an empty doichain-volume, or a doichain-cli migratewallet run first: that volume carries the abandoned chain's data and a BerkeleyDB wallet, which Core 31 cannot load. See README.md.
An ElectrumX server coming from the 1.15 image needs an empty electrumx-db: 2.0 changed the on-disk schema and ships no migration path.