Skip to content

Conversation

@Sjors
Copy link
Member

@Sjors Sjors commented Mar 3, 2025

Testnet3 was deprecated in v28 with the introduction of testnet4. It will be dropped in v30 or later, please discuss in #31975.

There is no more [test] network section. The user is expected to set testnet4 explicitly, which should make future rotation of testnets easier.

If a [test] or [testnet3] section is present in bitcoin.conf a warning is issued:

Warning: .../bitcoin.conf:18 Section [test] is not recognized.

Starting with -testnet3 will be greeted with an error message:

Error: Testnet3 was dropped in version 30.0. Consider using '-testnet4' instead.

This also prevents a fallback to mainnet.

Starting with -test was already not possible with testnet3.

Review hints:

  • make a (Windows) Guix build and test the (un)installer

Guix hashes:

(todo)

@DrahtBot
Copy link
Contributor

DrahtBot commented Mar 3, 2025

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/31974.

Reviews

See the guideline for information on the review process.

Type Reviewers
Concept ACK fjahr

If your review is incorrectly listed, please copy-paste <!--meta-tag:bot-skip--> into the comment that the bot should ignore.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #34004 (Implementation of SwiftSync by rustaceanrob)
  • #33861 (build: Bump VS minimum supported version to 18.0 by hebasto)
  • #32427 ((RFC) kernel: Replace leveldb-based BlockTreeDB with flat-file based store by sedited)
  • #32317 (kernel: Separate UTXO set access from validation functions by sedited)
  • #29678 (Bugfix: Correct first-run free space checks by luke-jr)
  • #27260 (Enhanced error messages for invalid network prefix during address parsing. by portlandhodl)
  • #26201 (Remove Taproot activation height by Sjors)
  • #17783 (common: Disallow calling IsArgSet() on ALLOW_LIST options by ryanofsky)
  • #17581 (refactor: Remove settings merge reverse precedence code by ryanofsky)
  • #17580 (refactor: Add ALLOW_LIST flags and enforce usage in CheckArgFlags by ryanofsky)
  • #17493 (util: Forbid ambiguous multiple assignments in config file by ryanofsky)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@instagibbs
Copy link
Member

I've said it elsewhere, but I think it deserves a quite long deprecation cycle, along with some data gathering.

We don't want services not upgrading for fixes because their test environment would break.

e.g., what exchanges with testnet environments have adopted testnet4 (or signet), much less would be ok with removing testnet3?

Does btcd support it? LND? Eclaire? CLN? etc.

Lots of work to be done here imo.

@Sjors
Copy link
Member Author

Sjors commented Mar 3, 2025

I opened a separate RFC to discuss when to drop testnet3: #31975

I can rebase this for a while if we decide v30 is too early.

@fjahr
Copy link
Contributor

fjahr commented Mar 3, 2025

Concept ACK

@Sjors Sjors force-pushed the 2025/03/testnet3 branch from 5d6aa13 to b221f0c Compare March 3, 2025 21:30
@Sjors
Copy link
Member Author

Sjors commented Mar 3, 2025

I split 5d6aa13cf047e31005afca919ca9cf181e30905b into smaller commits. If we decide to punt this until after v30 then I'll PR some of these separately. E.g. there's some tests that can use testnet4 instead of testnet3 and perhaps we can drop GUI support earlier.

@Sjors
Copy link
Member Author

Sjors commented Mar 4, 2025

Will rebase after #31649 is rebased.

This was referenced Oct 10, 2025
@Sjors
Copy link
Member Author

Sjors commented Oct 24, 2025

Trivial rebase after #32579 (touching chainparams.cpp).

Sjors added 7 commits December 9, 2025 10:41
Except for the deprecation warning in feature_config_args.py.
This test now writes its own config file, which was previously done by
test_acceptstalefeeestimates_arg_support.

The deprecation warning test will be removed in a later commit.
Abort node startup and inform user they should use -testnet4.
Modify the deprecation message test to cover this.

Remove testnet3 references from bitcoin-cli documentation
and bash helper.
Also use "test network" instead of "testnet" where appropriate (e.g.
because it also applies to signet).
@DrahtBot
Copy link
Contributor

DrahtBot commented Dec 9, 2025

🚧 At least one of the CI tasks failed.
Task Windows-cross to x86_64, ucrt: https://github.com/bitcoin/bitcoin/actions/runs/20059296558/job/57531948130
LLM reason (✨ experimental): Compilation failed: TestNet is not a member of CChainParams in bitcoinkernel.cpp.

Hints

Try to run the tests locally, according to the documentation. However, a CI failure may still
happen due to a number of reasons, for example:

  • Possibly due to a silent merge conflict (the changes in this pull request being
    incompatible with the current code in the target branch). If so, make sure to rebase on the latest
    commit of the target branch.

  • A sanitizer issue, which can only be found by compiling with the sanitizer and running the
    affected test.

  • An intermittent issue.

Leave a comment here, if you need help tracking down a confusing failure.

@Sjors
Copy link
Member Author

Sjors commented Dec 9, 2025

Rebased after #30595 and #33702.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants