I'd like to make a fork of Bitcoin, since it's the new trend ;)

The first thing I did was to create a docker image of ubuntu with all the dependencies, then I wanted to run the core software- but the first thing it did after I built it and booted it up was start trying to connect itself to the real-world bitcoin network- not what I want!

What I'd like to do is define my own network, that I can just run on some machines that are under my own personal control- pass around coins- all the typical stuff- check out the wallet- really basic

but I'm at a loss for how to do that.

I've been told that I need to modify chainparams.cpp, is it so? If yes, then what do I need to do to it?

Is that the only thing I need to change? if there are other things what are they?

  • I've also told you to start with regtest first, as that will do everything you're asking for without needing any code changes. Once you want to have some sort of public network with whatever changes you want, you can add a definition to chainparams. Apr 18, 2017 at 16:23

1 Answer 1


Regtest should really suffice for your basic testing. If you really want to modify chainparams, you would first start with the DNS seed data in the file; these are hard coded.

  • I know that regtest is cool for testing, but I don't want to just test it I want to make something deployable. so this DNS seed is for peer discovery- what if at first it's just me on the network- and so- does that mean I need to manually add all new peers on the network? can't it just discover peers that are near? Apr 19, 2017 at 10:33
  • It would still need to know one peer before it can start discovering more peers on the network. Hence the hard coded list.
    – Bobo
    Apr 19, 2017 at 10:38
  • what if the peers are docker containers on my own machine, that will also work right? Apr 19, 2017 at 10:39
  • I have not used docker so can't confirm , but honestly i see no difference as long as they are listening to different ports. I'd still go with Pieter Wuille's suggestion with starting in regtest, adding nodes manually.
    – Bobo
    Apr 19, 2017 at 10:44
  • what does that mean- start in regtest and add nodes manually- this is just for practice? to understand how to add nodes? so- for adding them it still means hard coding them into that file? but anyway- yeah sure I mean_ practice is also cool- but when I want to deploy for real I can't use regtest- like- I can't transition from reg test to real world deploy- isn't it? Apr 19, 2017 at 10:58

Your Answer

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

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