7

btcd, and presumably other bitcoin node implementations, seem to have 4 network options:

  1. mainnet
  2. testnet
  3. regtest
  4. simnet.

I get that mainnet and testnet both are "public" in that your node will communicate with other nodes and that both have an existing blockchain and genesis block.

However, from what I can tell, both simenet and regtest both create a local only blockchain, and both will create a new genesis block. I this case, what is the difference, and which is better (easier) for developing bitcoin applications?

This is what the documentation has to say:

--regtest             Use the regression test network
--simnet              Use the simulation test network
0

1 Answer 1

2

Simnet is only available for btcd (bitcoin node) and lnd (lightning node) afaik, while regtest is also available for bitcoind (bitcoin node), lnd and eclair (lightning nodes). The two modes are similar, according to documenation of LND:

Simnet is similar to regtest in that you'll be able to instantly mine blocks as needed to test lnd locally

Both also are similar in the fact that the payment addresses are unique, to prevent confusion with the main network.

Where they differ, I think, is that simnet goes a bit further and also applies some network changes to disable things like peer discovery.

But I couldn't find conclusive evidence for this. Since I do a lot of tests with multiple Lightning clients, I tend to use regtest, since that's more broadly supported.

5
  • How do I create a test network w/ 2 (or more ) physical nodes each on their own machine? Can I do this w/ simnet or regtest??
    – JDOaktown
    Mar 18 at 18:48
  • 1
    Bitcoin nodes or Lightning nodes? Either way: yes you can do that with either simnet or regtest. But why are you thinking about doing tests with two physical machines? Tools like Simverse or Polar let you spin up multiple docker containers running Bitcoin core or one of the three main Lightning clients. You can do all the testing on a single machine. I've wrote a few blog posts on the former tool: gijsvandam.nl/topics/simverse
    – gijswijs
    Mar 19 at 7:53
  • gisjswijs: Why would I choose simnet vs. regtest (or vice versa) for this?
    – JDOaktown
    Mar 19 at 17:41
  • Thanks, I know I can run everything on one machine. & I have. I'd like to run 2 (or more) physical machines because it more closely models the real world.
    – JDOaktown
    Mar 19 at 17:41
  • 1
    @JDOaktown I would use regtest. Simnet is only supported by Lightning Labs products (lnd, btcd) so it might make sense to use it when you only use those products, but even then I would prefer regtest, just because it's more widely supported.
    – gijswijs
    Mar 21 at 2:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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