Führen Sie mehrere BTC-Knoten auf separaten VMs auf demselben Hostcomputer aus?

Ich habe einen Server, der rund um die Uhr läuft und noch viele Ressourcen übrig hat. Ich möchte einen vollständigen Bitcoin-Knoten ausführen, aber eigentlich dachte ich daran, ein paar virtuelle Maschinen darauf auszuführen (mit Virtualbox) und in jedem von ihnen einen vollständigen Bitcoin-Knoten auszuführen.

Offensichtlich müssten sie alle unterschiedliche Ports verwenden (die von meinem Router an die jeweiligen VM-LAN-IPs weitergeleitet werden sollen).

Wird das funktionieren, dh würden sie sich an verschiedenen „metrischen Orten“ im Bitcoin-Netzwerk befinden? (obwohl sie natürlich denselben physischen Standort und dieselbe IP haben)

Grund für dieses Bestreben: gleichzeitig „so weit wie möglich“ mit verschiedenen Teilen des Netzwerks verbunden zu sein, so als ob ich mehrere Knoten an verschiedenen physischen Standorten auf der ganzen Welt laufen hätte.

Antworten (1)

Wenn Sie mehrere Knoten ausführen, können Sie sich mit mehr Peers verbinden. Der Algorithmus hinter dem Finden von Peers berücksichtigt eine Vielzahl von Variablen, wie z. B. die Erfolgsrate früherer Verbindungen und die IP-Adressen, die von anderen Knoten weitergeleitet werden. Je mehr Knoten Sie also ausführen, desto besser sind die Chancen, sich mit verschiedenen Peers zu verbinden.

Das bedeutet, dass es nicht wirklich wichtig ist, dass sie auf verschiedenen Betriebssystemen laufen. Sie können verschiedene Knoten auf demselben Betriebssystem an verschiedenen Ports ausführen. Dies wäre effektiv dasselbe, als würden sie auf verschiedenen virtuellen Maschinen ausgeführt.

Was hier zählt, ist die hohe Peer-Verbindungsrate, die erreicht werden kann, indem viele Knoten an verschiedenen Ports betrieben werden.

Oh, richtig, ja, also könnte ich sogar mehrere Bitcoin-Instanzen auf demselben Betriebssystem ausführen? (natürlich alle mit unterschiedlichen Bitcoin-Einstellungen und Arbeitsverzeichnis) Das wäre noch besser!
Ich denke, sie würden auch ihre eigene Kopie der Blockchain brauchen, sie können diese Daten wahrscheinlich nicht über mehrere Instanzen hinweg teilen? :)
Übrigens, jetzt wo ich darüber nachdenke, wenn ich 2 oder mehr Bitcoin-Daemons laufen habe (jeder mit eigenem Datadir, Konfiguration, Port usw.) und mit ihnen über die Befehlszeilenschnittstelle interagiere (wie "bitcoind getinfo" usw ) Wie würde ich identifizieren, auf welche Bitcoin-Instanz ich mich beziehe?
Ich würde empfehlen, für jeden Bitcoin ein separates Benutzerkonto anzulegen. Dann melden Sie sich einfach bei sueinem beliebigen Konto an (oder ) und führen es bitcoind getinfoauf dieser bestimmten Instanz aus. So mach ich es :-)