New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DEPENDENT: Chainparams: Introduce N testnet chains to test different block sizes #6382
Conversation
4d8e7d9
to
cb64088
Compare
4d1a42a
to
6d33e08
Compare
8f8eef1
to
321715d
Compare
Rebased after #6381. Also rebased back in time to 0.11: https://github.com/jtimon/bitcoin/tree/chainparams-sizetest-0.11 |
321715d
to
490793a
Compare
Spun up a node and block explorer on top of this PR: http://sizenet.yogh.io/#json:getinfo Availability subject to change, will jump back to the main chain when no longer needed - if needed at all. (still synching) |
490793a
to
b4252f7
Compare
Rebased and fixed (see #6077 (comment) ). |
8237db6
to
e20dc9d
Compare
This wasn't passing travis because of a small bug in jtimon@989e374 (#6625). I will wait for travis to approve this to force push #6625. |
e20dc9d
to
1d17ddd
Compare
NACK. I think the code should exist for people to use for testing, but I dont think Bitcoin Core is the place to support a ton of test/benchmark chains. This is different from the regtest/testnet chains, which exist to create a bitcoin-in-a-box for testing, but which try to mimic Bitcoin where convinient for testing, not to test changes to Bitcoin itself. |
b332cd8
to
90bf990
Compare
8fdf0bd
to
729bf3b
Compare
…tion number This is a no-op change. For now, everything passes MAX_BLOCK_SIZE / 60, so the result matches what it would've before. Tests use a number equal to the number of transactions where necessary, to ensure that they're never rejected when blocksizesize isn't being tested.
This is a no-op change. Tests use a value of std::numeric_limits<uint64_t>::max() where necessary, to ensure that they're never rejected when size isn't being tested.
…sus.h (as functions) The following are now tied to a chain rather than being defined as global constants. Their values have not changed. nMinTxSize nMaxBlockSize nMaxTxSize nMaxBlockSigops nCoinbaseMaturity Also, for free (diff-wise): Blocksize: Turn MAX_BLOCK_SIZE (nMaxBlockSize) and MAX_BLOCK_SIGOPS (nMaxBlockSigops) into functions ...which take Consensus::Params as parameter This will be convenient to reduce the diff of any proposal that changes the blocksize as a hardfork
…of -testnet and -regtest
729bf3b
to
2e7cb31
Compare
Closing. It will be eventually replaced with a similar one that doesn't use block size as an example. |
Rebased by Pieter Wuille. Cleanup by Matt Corallo.
- Chainparams: Use a regular factory for creating chainparams - Chainparams: Get rid of CChainParams& Params(std::string) - Chainparams: Use the factory for pow tests Upstream: [0.13-chainparams-factory] (replaces bitcoin#6382)
This creates
std::numeric_limits<uint64_t>::max()
new testchains, each one with a different maximum block size and genesis block.It would be generally good to have more people collecting data and
conduction simulations related to different consensus maximum block sizes.
This PR attempts to simplify that work.
Even if it may take long until it is merged (because it requires many
little steps to be taken first), this branch (or a fork of it) can be used right now for
testing purposes.
One can use it, for example, like this:
./src/qt/bitcoin-qt -chain=sizetest -debug -printtoconsole -gen=1 -genproclimit=20 -blocksize=2000000
I will rebase and update the list of dependencies accordingly as
things get merged.
Dependencies:
Similar branches on top of older versions:
https://github.com/jtimon/bitcoin/tree/chainparams-sizetest-0.11