...reads from runtime params and simplify the creation of partitioned chains by simply generating different gensis block hashes from a given custom name.
It also allows to customize any chain param in these custom chains (but not the other chains).
Dependencies:
- Testschains: Many regtests with different genesis and default datadir #17037
- Tests: Chainparams: Make regtest almost fully customizable #17032
- Tests: Use self.chain instead of 'regtest' in all current tests #16681
- Preparations for more testchains #16680
- Use a proper factory for creating chainparams #8855
- [ ] Really don't validate genesis block #9102 - Introduce an ArgsManager class encapsulating cs_args, mapArgs and mapMultiArgs #9494
- QA: segwit.py: s/find_unspent/find_spendable_utxo/ #11869
- Refactor: One CBaseChainParams should be enough #12128
Other features:
- Uses a custom chain for all python tests.
- Create new testchains with different genesis hashes at will.
- Load chainparams from
separatedfile or command line. (file left for later, see https://github.com/jtimon/bitcoin/tree/b16-new-testnet-file ) - New chains are neither orange, blue nor green: they're purple and have your custom chain petname shown in the GUI.
- Extra context: some people asked for signed blocks but that's way more disruptive and this is already review-thirsty (see #9177 ).