Repository navigation
v1.2.2-DIMEBAG
Release v1.2.2-DIMEBAG of midwimble.
An update for every node, pool and producer, so that the whole network
replaces over-cap blocks the same way and follows the chain that results.
Consensus is v1.2-DIMEBAG's: from block 86,400 the proof of work is
Midstate Walk, and nothing in this release changes what a valid block is.
Upgrade every node. A node on v1.2.1-DIMEBAG or earlier cannot follow a
chain that replaced a long run of over-cap blocks (below), and bans the peer
that offers it.
Over-cap blocks are replaced
While the tip is a run of other producers' over-cap blocks, a node now builds
on the block before the run: its own miner's blocks, and the templates
/mining/template and /merge/job hand out. A block there that counts in
full outweighs the whole run (an over-cap block weighs 1/1024 of its work),
so it replaces it. The run's blocks pay nothing, pay and fees alike, and the
replacement carries their transactions again. Past its bonds' share of the
window, a producer's blocks are replaced, not just tapered: what keeps them is
enough bonds for its hashrate.
- How far back: at most the latest 12 blocks of a run by default, which
nodes on earlier releases can follow.midwimble node --max-orphan-depth N
takes it up to 100 once the network has upgraded.
--no-orphan-over-capkeeps a node on the tip. - Templates say where they build:
prev_hash, andorphans(how many
blocks the template's block would replace)."orphan_over_cap": false
keeps a template on the tip; the midwimble pool asks for that./state
reportsorphaning. - The explorer marks over-cap blocks and counts each block's full-weight
confirmations: the blocks from it to the tip that counted in full. A
payment is settled by those. A block with none can still be replaced,
however many confirmations it has. docs/BONDED_POW.md, "Orphaning over-cap blocks", has the details.
Nodes follow a heavier chain that is shorter
A replacement leaves a chain that is heavier but shorter. A node offered a
heavier chain asked for headers from 16 blocks below its own tip, so when a
replaced run was longer than that, it asked past the peer's tip. The peer
had no headers there and answered with none. The node struck it for not
backing its claim, and banned it at the third strike, for an hour and
longer on repeats. A seed that replaced long runs was cut off by every node
still on them. A node now asks from below the shorter of the two tips, and
an empty answer past the tip a peer claimed is no longer a strike.
Also
- Bond proofs refresh themselves:
midwimble bond registertakes a fresh
proof once the saved one's midstate header has left the relay's window, is
within an hour of leaving it, or is no longer midstate's header at that
height, and prints how long a proof can register for.--fresh-proof
forces one.GET /relayreportsburial_headersandrelay_window. - Burn tracker: the explorer's
#/burnpage andGET /explorer/burn
total what over-cap bonds left unminted, with a leaderboard by bond. - For midstate's wallet: the core exposes the signature challenges and
wallet-key bytes that MDS ⇄ MDW swaps sign with.
Built --release --features webrtc,gpu from commit ea1ee330591a939dff39d0e011d5a6ab5ad8daaa. Each archive holds one midwimble binary — node, wallet, pool, merged miner and anchoring — with LICENSE and README.
| Download | Platform |
|---|---|
midwimble-v1.2.2-DIMEBAG-x86_64-unknown-linux-gnu.tar.gz |
Linux x86-64 |
midwimble-v1.2.2-DIMEBAG-aarch64-unknown-linux-gnu.tar.gz |
Linux ARM64 — Raspberry Pi 3 / 4 / 5 on a 64-bit OS |
midwimble-v1.2.2-DIMEBAG-x86_64-apple-darwin.tar.gz |
macOS (Intel) |
midwimble-v1.2.2-DIMEBAG-aarch64-apple-darwin.tar.gz |
macOS (Apple Silicon) |
midwimble-v1.2.2-DIMEBAG-x86_64-pc-windows-msvc.zip |
Windows x64 |
midwimble-v1.2.2-DIMEBAG-aarch64-pc-windows-msvc.zip |
Windows on ARM |
Verify with sha256sum -c SHA256SUMS.txt (checksums attached).