0.25.7-beta
Please report bugs using the issue tracker at GitHub:
https://github.com/flokiorg/go-flokicoin/issues
This is a minor beta release of Flokicoin Core with a new per-block difficulty retarget algorithm (Digishield-style), AuxPoW header and consensus support, testnet feature updates, RPC corrections, and build/test improvements. This release schedules MAINNET ACTIVATION
for both Digishield and AuxPoW via chain parameters. All mainnet nodes must upgrade before the activation heights below to avoid chain splits.
Notable changes
-
Consensus: Digishield difficulty retarget
- Introduces a per-block exponential moving average retarget toward the target spacing with amplitude divisor 8.
- Applies bounded damping each step (min 0.75x, max 1.5x of target spacing influence) to reduce volatility.
- Supports min-difficulty on late blocks where enabled by chain parameters.
- Integrates into validation and mining (next-required-bits, block template target) and expands unit/full-block tests.
-
P2P/Wire: AuxPoW header support
- Adds AuxPoW structures (coinbase, merkle branches, parent header) and serialization helpers.
- Extends
BlockHeader
with AuxPoW flag and ChainID utilities plus optional AuxPoW payload encode/decode. - Updates
MsgBlock
decoding to parse AuxPoW payloads when present; adds coverage for read/write paths. - Consensus: AuxPoW is activated on mainnet at the height listed below.
-
Testnet/regtest updates
- Enables SegWit and Taproot features on testnet where configured.
- Tunes
MinHighPriority
and increases theMaxLoki
bound used in RPC amount validation.
-
RPC fixes and improvements
- Aligns reported P2P protocol version with
wire.ProtocolVersion
and fillsgetinfo
fields (subversion, localservices, connections_in/out, localaddresses) from live server state.
- Aligns reported P2P protocol version with
-
Tooling and tests
- Adds
make testexport
target and a deterministic test-data exporter. - Unifies block dataset loader with mandatory network-magic validation; refactors call sites.
- Adds an end-to-end difficulty validation over curated datasets and emits steady-state tuning metrics.
- Adds
-
Build and configuration
- Drops local
replace
override forflokicoin-neutrino
to avoid developer-only paths. - Prints a single startup banner with semantic version during config load; refactors ASCII-art constants.
- Drops local
Compatibility
- Mainnet will activate Digishield and AuxPoW at fixed heights (below). These are consensus changes and constitute a hard fork at activation. All miners, validators, and services must upgrade before those heights.
- AuxPoW wire support remains backward compatible for non-AuxPoW headers until activation height.
- No database format changes are introduced.
Activation schedule (mainnet)
- Digishield difficulty retarget: activates at height 115,000 (
DigishieldActivationHeight
inchaincfg/params.go
). - AuxPoW consensus: activates at height 115,840 (
AuxpowHeightEffective
inchaincfg/params.go
).
These activations are parameterized in repos/flokiorg/go-flokicoin/chaincfg/params.go
under MainNetParams
.
Upgrade notices
- Mainnet node operators: upgrade to 0.25.7-beta before heights 115,000 (Digishield) and 115,840 (AuxPoW) to remain on the canonical chain.
- Testnet/regtest operators should upgrade to participate in the updated difficulty and feature policies.
- Application developers should re-vendor/update to pick up RPC schema fixes and wire additions related to AuxPoW.
RPC changes
getinfo
now reports accuratesubversion
,localservices
,localservicesnames
,connections_in
,connections_out
, andlocaladdresses
.- Reported max protocol version aligns with
wire.ProtocolVersion
(70016).
Build system and tooling
- New
make testexport
target to export block datasets for deterministic tests. - Removed local
replace
forflokicoin-neutrino
to produce clean module graphs in builds.
Tests and QA
- Unified block loader enforces network magic and uses buffered, full-length reads.
- Added E2E difficulty validation with metrics output for steady-state analysis.
- Curated, smaller test datasets improve determinism and CI time.
Changelog since v0.25.6-beta
- b4f439e consensus: add Digishield difficulty retarget
- dec0948 wire: integrate AuxPoW header support
- 31eff16 chore: repo updates for rpc/db, tests, fixtures
- e2ac6e7 tests: validate difficulty dataset and expose tuning metrics
- 735410f tests: unify block loader to enforce network magic; refactor call sites
- 0e5dcd3 make: add testexport target for exporting block datasets
- 651a453 rpc: report correct p2p protocol and fill getinfo fields
- bea6a7a build: drop local replace for flokicoin-neutrino
- 2e92497 config: print startup banner with version; refactor art constants
- b24e870 wire: remove stale TODO comment in protocol.go
- 60460f8 enable segiwit/taproot for testnet
- f9bf3ae increase maxloki const
- 712355d update MinHighPriority const
- fa96bbd bump version 0.25.7-dev
- 4523b79 version: bump to 0.25.7-beta
Credits
Thanks to everyone who directly contributed to this release:
- naliyi
- izimmerma
- mechion
- repins
- nanovex
- liarpo11
- arowqo
- thiniboy