#35861 Testnet 5 (BIP95)
| Reviewability | Reviews | Agreement | Size | ||||
|---|---|---|---|---|---|---|---|
| #35861 Testnet 5 (BIP95) | Waiting on author | 0 | Blocked | 317 + 6,426 tests | |||
|
|
|
|
| |||
Reviewability: ReadyStalePaused Agreement: StrongPositivePositive w/ caveatsNeutralMildDisputedBlockedCrickets Reviews: current code-review ACKs, then (+stale ACKs) and -NACKs; greener = more ACKs. Size: lines added or modified outside tests, then in tests; greener = smaller. | |||||||
Goal
This PR implements BIP 95 to introduce Testnet 5. It establishes chain parameters that enforce BIP 54 (Consensus Cleanup) starting from block 1, eliminates the 20-minute minimum-difficulty exception present in previous testnets, and raises the minimum difficulty threshold.
Problem: Testnet 4 and prior testnets suffer from difficulty manipulation caused by the 20-minute minimum-difficulty rule, and lack a live test network running the proposed BIP 54 consensus cleanup rules from genesis.
Reviewability
Paused · Waiting on author
Open objection from darosior with no author reply for 30 days; review would repeat what has been asked.
Waiting on (from the thread read):
- author: response to darosior regarding the potential Tor port clash with testnet3 2026-10-02
- author: address potential Tor port clash with testnet3 2026-10-02
Agreement
Blocked
objection that needs a change, nobody has replied (darosior)
Thread notes: darosior raised an inline concern about a Tor port clash with testnet3 (rc:4163729377); listed as an objection awaiting author response. / Initial record. darosior questioned whether the chosen port clashes with testnet3's Tor port.
Objections, suggestions, and questions:
| Reviewer | Type | Harm, request, or question | Status | Must be | Author replied | Quote |
|---|---|---|---|---|---|---|
| darosior (member) | objection, interface | The Tor port clashes with testnet3's Tor port | open | changed | no | 2026-10-02: 'This clashes with testnet3's Tor port?' |
Participants:
- darosior (member, objection, 1 statements 2026-10-02 to 2026-10-02): raised a possible port clash with testnet3's Tor port
Dependencies
Depends on: #35793
Files
6481 lines under test/bench/ci.
- src/test/data/bip54_timestamps.json +4134/-0
- src/test/bip54_tests.cpp +1608/-0
- test/functional/feature_bip54.py +417/-0
- src/kernel/chainparams.cpp +142/-0
- src/test/data/bip54_coinbases.json +80/-0
- src/validation.cpp +54/-14
- src/test/fuzz/bip54.cpp +54/-0
- src/test/transaction_tests.cpp +26/-24
- src/policy/policy.cpp +1/-36
- src/consensus/tx_verify.cpp +31/-1
- test/functional/data/invalid_txs.py +17/-3
- src/consensus/consensus.h +16/-1
- test/functional/mempool_sigoplimit.py +8/-9
- src/test/util/transaction_utils.cpp +14/-0
- test/functional/rpc_blockchain.py +13/-0
- src/init.cpp +7/-5
- test/functional/feature_block.py +9/-1
- test/functional/mining_basic.py +5/-5
- src/consensus/tx_verify.h +7/-1
- test/functional/feature_taproot.py +5/-3
- doc/release-notes-testnet5.md +7/-0
- src/common/args.cpp +5/-2
- src/test/fuzz/coins_view.cpp +6/-1
- src/node/miner.cpp +3/-3
- test/functional/test_framework/blocktools.py +4/-2
- test/functional/wallet_migration.py +4/-2
- src/bitcoin-cli.cpp +4/-1
- src/chainparams.cpp +5/-0
- src/chainparamsbase.cpp +4/-1
- src/policy/policy.h +2/-3
- src/test/pow_tests.cpp +5/-0
- src/deploymentinfo.cpp +4/-0
- src/external_signer.h +2/-2
- src/util/chaintype.cpp +4/-0
- test/functional/test_framework/script_util.py +2/-2
- src/kernel/bitcoinkernel.cpp +3/-0
- src/test/CMakeLists.txt +3/-0
- src/test/util/transaction_utils.h +3/-0
- test/functional/rpc_getblockstats.py +3/-0
- doc/bips.md +2/-0
- src/CMakeLists.txt +1/-1
- src/chainparamsbase.h +1/-1
- src/common/args.h +1/-1
- src/kernel/chainparams.h +2/-0
- src/test/argsman_tests.cpp +1/-1
- src/test/versionbits_tests.cpp +1/-1
- src/txmempool.cpp +1/-1
- test/functional/mempool_accept.py +1/-1
- src/consensus/params.h +1/-0
- src/kernel/bitcoinkernel.h +1/-0
- src/kernel/bitcoinkernel_wrapper.h +1/-0
- src/qt/guiconstants.h +1/-0
- src/qt/guiutil.cpp +1/-0
- src/qt/networkstyle.cpp +1/-0
- src/rpc/blockchain.cpp +1/-0
- src/test/fuzz/CMakeLists.txt +1/-0
- src/util/chaintype.h +1/-0
- test/functional/test_framework/messages.py +1/-0
- test/functional/test_runner.py +1/-0
Card
The short text the ranking pass compares across PRs.
PR #35861 implements BIP 95 to add Testnet 5, which eliminates the 20-minute minimum-difficulty exception seen in Testnet 4, raises minimum difficulty, and activates BIP 54 consensus cleanup rules from block 1. This provides developers and miners with a resilient testnet environment that also serves as a live proving ground for BIP 54. The PR rests on top of base PR #35793 and is currently in draft awaiting the merge of BIP 54, a mined genesis block, and seed infrastructure. It currently has no reviewer feedback, needs a rebase, and has failing CI.
Data
thread read through 2026-10-02 (1 statements), head 31ed5baf68
labels: Needs rebase, CI failed · draft
Categories
Validation
P2 · new feature (ranking pass: Moved down: value is contingent on BIP 54 (#35793) landing first)
Introduces Testnet 5 to eliminate the 20-minute minimum-difficulty rule exploited on earlier testnets and tests BIP 54 consensus cleanup rules from genesis.
Membership: Implements BIP 95 chain parameters and BIP 54 consensus cleanup rules across src/consensus/tx_verify.cpp and src/validation.cpp.
Factors: security/stability 1, bug 0, performance 0, user value 2, leverage 2