Skip to content

Fulcrum 2.1.2:2 - BLAKE2b Support

Pre-release
Pre-release

Choose a tag to compare

@kwsantiago kwsantiago released this 31 Aug 12:37
3b66b77

Fulcrum with BLAKE2b hard fork support, packaged for StartOS. Recovers automatically from an index it cannot read.

What this fixes

This package and the marketplace build of Fulcrum write incompatible block header records, and neither can open the other's index: Fulcrum reports a magic bytes mismatch and stops, rather than misreading the data. Installing this package over a working stock Fulcrum therefore left the service crash-looping, with nothing a user could do from the interface to clear it:

FATAL: Caught exception: readOrInitMeta: Magic bytes mismatch for DB fulc2_db/headers, expected: 00f026a2, got: 00f026a1

The daemon now watches for that message, discards the unreadable index once, and lets Fulcrum restart and rebuild it.

It keys on the error rather than on the version being upgraded from, because this package's earlier releases and the marketplace build share the same version space, so no version range distinguishes an index this build can read from one it cannot. An index that opens normally is never touched, and an ordinary upgrade does not resync.

Where the index is discarded, the address index is rebuilt from scratch and takes as long as the original sync did. The Electrum port stays closed until that finishes.

Activation status

The fork is live on mainnet at height 961640, scheduled by Bitcoin Knots v29.4.1.knots20260508rc4, and on testnet4 at 150308. A node past its activation height serves 164 byte headers, which stock Fulcrum cannot parse and this build can.

Index compatibility

Header records are 164 bytes here rather than 80, and the headers table magic differs. Moving between this package and the marketplace build costs a full resync in either direction. Coming from the marketplace build that now happens automatically; going back to it does not, and has to be cleared by hand.

Verifying this download

gpg --import privkeyio-signing-key.asc
gpg --verify fulcrum_x86_64.s9pk.sha256.asc fulcrum_x86_64.s9pk.sha256
sha256sum -c fulcrum_x86_64.s9pk.sha256

Signed by Kyle Santiago kyle@privkey.io, key A47D99B6DB0D715D40C59A2023AE8A8EA7E24E38.

Built from blake2b-pow at 3b66b77, with Fulcrum from privkeyio/Fulcrum at tag v2.1.2-blake2b (30138c7).