Introduce N testnet chains to test different block sizes
2 messages, 6 Jul to 19 Aug 2015. Started by Jorge Timón.
Jorge Timón (2)
I have created the following PR that simplifies testing of different block sizes and (if it were merged) would also slightly simplify a future block size change hardfork.
https://github.com/bitcoin/bitcoin/pull/6382
I hope someone finds this useful. Please, post to github if you find any issues. But, please, don't discuss the block size issue itself in this post or the PR, the size is simply -blocksize.
I repeat the text here:
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:
- Chainparams: Translations: DRY: options and error strings #6235 - CTestNetParams and CRegTestParams extend directly from CChainParams #6381
On Wed, Aug 19, 2015 at 7:30 PM, Danny Thorpe <danny.thorpe@gmail•com> wrote:
Quoted text (23 lines)
>>> > I would expect any uncontroversial hardfork to be deployed in testnet3 > before it is deployed in bitcoin's main chain. > << > > Ok, glad to hear that. > >>> > In any case, you can already do these tests using > https://github.com/bitcoin/bitcoin/pull/6382 > << > > I saw your post about that awhile ago, thanks for doing the work! My > fiddling with that end of the food chain is gated by my needing to block out > a weekend to set up a bitcoind build environment. > > How do "big-block" testnet nodes running this 6382 rev recognize each other > on the peer network? If I set up a 2MB block limit testnet node and -addnode > another 2MB block testnet node (say, JornC's node) to it, and my node mines > a block stuffed with 1.3MB of test txs, the other "big-block" node should > accept my mined block, but it will be rejected / immediately orphaned by the > rest of the testnet network because it exceeds their notion of block size > limit, correct?
I don't have the time to use the code to write tests and simulations myself right now but I would be really happy about someone else doing it. Even though they share the same port and magic numbers, each of the N testchains in #6382 has a different genesis block, so they will reject blocks from any other testchain from the start. But you will likely connect the nodes directly and manually to get the network topology you want to test anyway. I hope this answers your questions but I'm happy to answer any other questions you may have.