I've got a server running 24/7 with lots of resources left. I want to run a full Bitcoin node, but actually, I thought of running a few virtual machines on it (using virtualbox) and running a full Bitcoin node in each of them.

Obviously they'd all need to use different ports (which are to be forwarded to the particular VM LAN IPs by my router).

Will that work, i.e. would they be on different 'metric locations' in the Bitcoin network? (even though they have the same physical location and same IP of course)

Reason for this endeavour: being 'as connected as possible' to different parts of the network simultaneously, just as if I had multiple nodes running on different physical locations throughout the world.

1 Answer 1


Having multiple nodes running will help you get connected to more peers. The algorithm behind finding peers takes into consideration a variety of variables, such as the success rate of previous connections, and the IP addresses that get relayed by other nodes. Therefore, the more nodes you have running, the better the chances of connecting to different peers.

This means that it doesn't really matter that they're running on different operating systems. You can run different nodes on the same OS, on different ports. This would effectively be the same as running them on different virtual machines.

What matters here is the high peer connection rate, which can be accomplished by running many nodes on different ports.

  • Oh, right, yeah, so I could even run multiple bitcoind instances on the same OS? (of course all with different bitcoin settings and work dir) That would be even better!
    – RocketNuts
    May 19, 2014 at 15:02
  • I guess they'd also need their own copy of the blockchain, they probably can't share that data accross multiple instances? :)
    – RocketNuts
    May 19, 2014 at 15:02
  • By the way, now that I think of it, if I have 2 or more bitcoind daemons running (each with their own datadir, config, port, etc), and interact with them from the command line interface (like "bitcoind getinfo" etc) how would I identify which bitcoind instance I'm referring to?
    – RocketNuts
    May 19, 2014 at 15:25
  • I'd recommend creating a separate user account for every bitcoind. Then, you just log in (or su) to any account and run bitcoind getinfo on that particular instance. That's how I do it :-)
    – knaperek
    May 20, 2014 at 7:33

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.