Sync & storage stability
- Datadir no longer grows without bound. Proofs deeper than retention are no
longer persisted or served, and the GC moved to a dedicated thread instead of
the pruning loop. A bootstrap datadir was seen holding 54.7 GB of stale proofs.
Existing oversized datadirs drain on their own — no resync needed. - From-scratch IBD works again. Staging consensus creation panicked with
KeyNotFound(VirtualState), which blocked every from-scratch sync since H4.
Coin-age buckets are also re-seeded at pruning-point import. - Catch-up no longer sabotages itself. Every virtual score drop triggered a
full age-buckets rebuild — ~13s of freeze every ~28s. Retained maturations are
now demoted in place. - No more FD exhaustion on staging retry (
acquired: 7933, limit: 8192). On
Windows this also fixes the staging directory failing to be removed. - Bootstrap: the keryx-labs node is now a fixed seeder alongside
seed.keryx-labs.com.
Upgrade recommended for everyone, especially if you could not complete an initial
sync or saw the datadir grow far beyond expectations.
Thanks to @neuropool for #20.