keryx-miner-supr v0.6.8.1
Patch release: fixes solo / direct-to-node (gRPC) mining after the H3 hardfork.
The bug
Since the H3 hardfork (keryx-node v1.3.1, DAA 43,450,000), the block header commits the winning PoM walk's pom_final_state, and the node rejects any block whose header.pom_final_state doesn't match the possession proof (PomFinalStateMismatch).
- Pool / stratum mining was unaffected — the pool fills the header field from the submitted proof.
- Solo mining directly to keryxd (
grpc://…, the default when-sis a bare host) was broken — the miner assembles and submits the whole block itself but never set the new header field (it didn't exist on our RPC header), so keryxd rejected every solo block post-gate.
The fix
- Add
pomFinalState(field 16) to the RPC block header, matching keryx-node v1.3.1. - The solo submit path now fills
header.pom_final_statefrom the winning walk. - The block hash commits it (post-gate only), byte-exact with the node's
hashing/header.rs.
The stratum/pool path and every pre-H3 hash are byte-identical to v0.6.8.0 — this only touches the solo/direct-node path. Validated byte-exact against keryx-node v1.3.1's own header hashing.
Do I need this?
Only if you mine solo, pointing the miner directly at your own keryxd (-s <host> / grpc://…). If you mine to a pool (stratum+tcp://…), nothing changes — v0.6.8.0 is fine.
Packages
modern / legacy / pascal × {hiveos, linux-x86_64, mmpos, smos} + SHA256SUMS; Windows attached by CI. Same driver-floor split as v0.6.8.0. CMP 100-210 / Volta = legacy line.