release: prepare v1.1.0 community maintenance release#7
Open
takologi wants to merge 1 commit into
Open
Conversation
Add a preview network combining testnet-like parameters with an accelerated activation schedule and regtest halving interval for rehearsing future protocol transitions. Introduce the RinHash activations table with JSON source data, code generation, and generated consensus-header verification. Add a scheduled min_peer_protocol_version floor for activation 0 (mainnet 840000, testnet 4200, regtest 600, preview 600), bump PROTOCOL_VERSION from 70017 to 70018, expose effective RinHash parameters through RPC, add the preview chain for activation rehearsal, exempt MWEB HogEx transactions from the empty-vin consensus check, and document the release. This release does not change the consensus rules currently in force on mainnet. It introduces infrastructure for future community-reviewed protocol transitions. The peer-protocol floor affects network reachability at and after the per-network activation height, not historical block validity.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Summary
This PR prepares Rincoin Core v1.1.0 as a conservative community-maintenance release.
The release introduces a RinHash activations table backed by JSON source data, JSON schema validation, a code generator, and a generated-header consistency guard. It also adds a scheduled
min_peer_protocol_versionfloor at activation 0, bumpsPROTOCOL_VERSIONfrom 70017 to 70018, exposes the effective RinHash parameters through RPC, adds a newpreviewchain for activation rehearsal, fixes the MWEB HogEx empty-vin transaction shape, and updates documentation.This PR does not change the consensus rules currently in force on mainnet. Block validation, PoW, transaction format, subsidy rules, chain selection, existing blocks, wallets, and datadirs remain compatible with the v1.0.x line.
Main changes
src/consensus/rinhash_consensus.json)src/consensus/gen_rinhash_consensus.py)src/consensus/rinhash_consensus_data.h) with--checkconsistency guard suitable for CImin_peer_protocol_version = 70018scheduled at:PROTOCOL_VERSIONfrom 70017 to 70018.getrinhashparamsRPC exposing the network's effective RinHash parameters.getblockchaininfowith an effective RinHash parameters section.previewchain (public test-oriented network with real PoW and accelerated activation schedule).doc/rinhash-activations.md,release-notes-rincoin.md,README.md).Compatibility
v1.1.0 preserves consensus compatibility with the currently deployed Rincoin network.
The peer-protocol floor affects network reachability at and after the configured activation height; it does not affect historical block validity. Pre-v1.1.0 nodes will no longer satisfy the handshake requirements once the active chain reaches the overlay's
activation_height, but their on-disk chainstate remains valid.Testing performed
The following checks were run successfully on this branch:
python3 src/consensus/gen_rinhash_consensus.py --check— generated header matches JSON sourcemake -j32— clean buildtest/functional/feature_min_peer_proto_floor.py— exercises the regtest activation-height-gated handshake floorsrc/test/test_litecoinfull suiteLive network validation
Next steps before tagging v1.1.0
min_peer_protocol_versionoverlay engages and pre-v1.1.0 peers are cleanly dropped at handshake).rincoin-qtagainst a v1.1.0 daemon (send/receive, descriptor & legacy wallets, encryption, MWEB peg-in/out, RPC console surface forgetrinhashparams/getblockchaininfo).test/functional/test_runner.py) on the tip.cargo-style lint pass for the C++ side:make checkand clang-tidy on changed translation units.depends/and Guix recipes (no dependency changes introduced, but worth re-verifying).v1.1.0.Risk assessment
Low. The only consensus-touching surface is the codegen-backed RinHash parameters table, which on every supported network reproduces the pre-existing hardcoded parameters and preserves v1.0.x consensus behavior until a future activation entry is added. The protocol-version bump and
min_peer_protocol_versionoverlay only affect peer-handshake gating at and after the per-network activation height.