Ich steige in die Bitcoin-Entwicklung ein und es scheint, dass der Bitcoin -Regtest-Modus perfekt zum Testen unserer Anwendungen ist.
Ich versuche, ein Netzwerk zu erstellen, indem ich der Antwort von Fred Tingey folge, aber leider funktioniert es nicht.
Ich brauche Anregungen, welche Informationen kann ich geben? Ich versuche, Docker zu verwenden, aber ich muss zuerst eine 64-Bit-Ubuntu-Maschine erstellen. Vielen Dank
Es scheint, dass Fred Tingeys Antwort größtenteils richtig war, aber falsche Portnummern in den von ihm bereitgestellten Beispielen enthielt. Wenn jemand alles kopieren und einfügen würde, hätte es nicht richtig funktioniert.
Ich habe seine Antwort geändert, sie wartet auf eine Peer-Review.
Die Verwendung von Ubuntu, Docker und VirtualBox sollte Ihre Fähigkeit zur Konfiguration von Regtest nicht beeinträchtigen.
Möglicherweise haben Sie Probleme, sich vom Host zum Gast zu verbinden. Wenn Sie dies tun, schlage ich vor, stattdessen Fragen zum Superuser- oder Ubuntu-Austausch zu stellen.
Ich hoffe, das hilft!
=== Hier ist die bearbeitete Version:
Um mehrere Knoten im Regtest-Modus auf einem einzelnen Computer auszuführen, müssen Sie jeden Knoten in einer Sandbox ausführen.
In diesem Beispiel habe ich drei Knoten, sie heißen Alice, Bob und Cory. Da Bitcoin ein Peer/Mesh-Netzwerk ist, ist es mein Ziel, jeden Knoten so zu verbinden, dass Änderungen, die an Cory vorgenommen werden, letztendlich für Bob sichtbar sind (ohne dass unbedingt eine direkte Verbindung zwischen den beiden erforderlich ist).
Diese Ordner enthalten unsere Daten und Konfigurationen für jeden Knoten. Die Namen sind nicht wichtig, sie können später umbenannt werden, also können Sie sie vorerst "Alice", "Bob" und "Cory" nennen. Denken Sie daran, wo Sie sie erstellen, Sie benötigen ihre Pfade für Schritt 3 unten.
In den Konfigurationsdateien wird Alice so konfiguriert, dass sie sich mit Cory verbindet, und Bob wird so konfiguriert, dass sie sich mit Alice verbindet. Neben der Konfiguration ausgehender Verbindungen legen wir hier auch regtest=1
Einstellungen server=1
fest.
regtest=1 server=1 # Alice connects to Cory connect=localhost:18333
regtest=1 server=1 # Bob connects to Alice connect=localhost:18444
regtest=1 server=1 # Cory connects to nobody
Beachten Sie, dass jeder Knoten eine andere Portnummer haben muss, da immer nur ein Knoten an eine Portnummer gebunden werden kann.
Sie können natürlich Ihre eigenen Portnummern wählen, aber achten Sie darauf, keine Portnummer zu verwenden, die bereits von etwas anderem verwendet wird.
Die Befehlszeilenoptionen teilen Bitcoin mit, welche Portnummer verwendet werden soll, wo Daten gespeichert werden sollen und wo die Konfigurationsdatei zu finden ist:
"C:\Program Files\Bitcoin\bitcoin-qt.exe" -conf="C:\Cory\bitcoin.conf" -datadir="C:\Cory" -port=18333 -rpcport=8333
"C:\Program Files\Bitcoin\bitcoin-qt.exe" -conf="C:\Bob\bitcoin.conf" -datadir="C:\Bob" -port=18555 -rpcport=8555
"C:\Program Files\Bitcoin\bitcoin-qt.exe" -conf="C:\Alice\bitcoin.conf" -datadir="C:\Alice" -port=18444 -rpcport=8444
Dadurch werden drei Instanzen des Bitcoin-Clients gestartet, und die Ordner für jeden Knoten beginnen mit der Initialisierung von Regtest-Daten.
Sie können die Help->Debug Window->Console
Option verwenden, um Befehle auf jedem der Knoten interaktiv auszuführen. Beispielsweise können Sie 101 Blöcke mit dem folgenden Bitcoin-Konsolenbefehl abbauen:
setgenerate true 101
Sie sollten (nach einigen Sekunden) dann Münzen erhalten haben.
Diese Mining-Aktivitäten führen zu Coinbase-Transaktionen – und nur die letzte von 50 BTC steht zur Verfügung. Jetzt können Sie einige BTC an einen der anderen Knoten senden. Nach etwas mehr Mining wird eine solche Transaktion bestätigt .
Sie können auch die Konsolenbefehle getpeerinfo
und verwenden getinfo
, um zu überprüfen, ob das Netzwerk korrekt eingerichtet ist. Einer von ihnen (Core mit Port=18333) sollte „sync=true“ in seiner Peerinfo-Ausgabe haben, und alle Knoten sollten die gleiche „Blockhöhe“ haben, unabhängig davon, welcher Knoten für das Mining verwendet wird.
-listen=1
wenn Sie Einstellungen vornehmen, -connect
da sonst keine eingehenden Verbindungen akzeptiert werden.
sbaha88
sbaha88
Shaun Wilson
sbaha88
Shaun Wilson
getpeerinfo
beispielsweise sourceforge.net/p/bitcoin/mailman/message/32012030 auszugebensbaha88