I want to test and develop an open source mining pool. I don't have access to an ASIC miner or GPU, so I have to use my CPU to simulate mining and see how the pool really works.

The problem is the bitcoin testnet difficulty is so high and the CPU can't mine, produce blocks and get reward. I need a low difficulty private bitcoin in order to test the mining process. How can I achieve that?

  • 2
    Does the “regtest” help you?
    – MCCCS
    Feb 17, 2019 at 13:13

1 Answer 1


Use regtest

Chain selection options:

       Enter regression test mode, which uses a special chain in which blocks
       can be solved instantly. This is intended for regression testing
       tools and app development.

       Use the test chain

Using this mode, you can manually mine blocks by issuing the following command, where nBlocks is the number of blocks to mine. You will need atleast 101 blocks before your first mining reward becomes available.

bitcoin-cli generate nBlock

  • Thank you. But when I generate new blocks manually, where does the block reward go? Is there any block reward at all? What does the miner do? Mar 6, 2019 at 18:28
  • 1
    This is automatically assigned to your default account configured within bitcoind. Be aware that the regression test move also has a maturity period where the coins generated by a block can only be moved after there are another 100 blocks on top, so you only have access to the mining reward after 100 blocks. There is also a more recent way in which you can specify this address using the generatetoaddress RPC call which mines to an address of your choice instead of a new internal newly generated address. gr0kchain@bitcoindev $ bitcoin-cli help generatetoaddress
    – Gr0kchain
    Mar 7, 2019 at 8:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.