2

Running mainnet, testnet and signet Bitcoin Core full nodes on the same machine/same VM works fine.

Is running say a c-lightning mainnet node in parallel with a c-lightning signet node on the same machine/same VM something that should work?

What about a c-lightning mainnet node in parallel with say a lnd/eclair/rust-lightning mainnet node? Or a c-lightning mainnet node with say a lnd/eclair/rust-lightning signet node? I'm guessing not as the two Lightning implementations will be in competition for Bitcoin Core resources and would end up crashing it.

2
  • Have you tried? Aug 31, 2021 at 14:58
  • @PieterWuille: No not yet. Just trying to understand what should happen/if this is dumb to try before I do it. Aug 31, 2021 at 15:10

3 Answers 3

3

It is absolutely possible, running parallel networks will be even added as a GUI option in the next RaspiBlitz release (FOSS bitcoin - lightning node package) which will also make C-lightning available.

See the issue about the parallel networks: https://github.com/rootzoll/raspiblitz/issues/2290

Here is a screenshot demonstrating running 5 LN nodes (3 C-lightning, 2 LND) on the three Bitcoin networks (mainnet, testnet and signet) on the same machine: https://twitter.com/openoms/status/1397187128136802326

For LND need to carefully specify the ZMQ ports to not mix the block hashes of the networks via:

main.zmqpubrawblock=tcp://127.0.0.1:28332
main.zmqpubrawtx=tcp://127.0.0.1:28333

and for example:

test.zmqpubrawblock=tcp://127.0.0.1:21332
test.zmqpubrawtx=tcp://127.0.0.1:21333

in the bitcoin.conf.

The Bitcoin Core, Lightningd and LND binaries can be the same, but - if using systemd - different services are the best to be used for the specific network instances. I found using one bitcoin.conf file is sufficient (as ports can be set with the network prefixes), but the LN implementations should have their dedicated config files per instance. As it was mentioned C-lightning makes this easy by having different directories for each network by default.

4

This was answered by individuals on IRC.

It is perfectly fine to run any number of c-lightning nodes for any combination of networks as long as you keep home directories (--lightning-dir) and (--bind-addr, --addr) bindings distinct. For different networks (i.e. mainnet, testnet, signet etc) c-lightning already has subdirectories so there is no need to specify those manually. But multiple nodes for the same network would conflict on the pid file and back out safely.

I think the alternative implementation question is dependent on which alternative implementation we are talking about and how they have been designed. There hasn't been much cross implementation testing and use of multiple implementations concurrently at the time of writing.

Openoms has been running Bitcoin Core mainnet, testnet, signet nodes with 5 Lightning instances (LND and c-lightning implementations). See his tweet or this GitHub issue for further details. For LND he states you need to be careful to specify the ZMQ ports so as not to mix the blockhashes of the networks (see his answer for more details).

openoms

0

This is a WIP answer investigating various Bitcoin Core and Core Lightning nodes running in parallel. Revisiting this after a couple more years.

By default (without making changes to the lightning config files) you can't run a mainnet Core Lightning node and a signet Core Lightning node in parallel connecting to the same Bitcoin Core instance running the mainnet and signet (bitcoind) daemons. When I attempt to do this I get the error message

**BROKEN** connectd: STATUS_FAIL_INTERNAL_ERROR: Failed to bind on 2 socket: Address already in use

This is despite mainnet and signet having different default ports for both Bitcoin Core (8333, 38333 respectively) and Core Lightning (9735, 39735 respectively).

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.