Lokale Bitcoin-Knoten in demselben VLAN können nicht synchronisiert werden

Ich habe zwei lokale Bitcoin-Knoten, Knoten1 (192.168.105) und Knoten2 (192.168.1.101). Zuerst starte ich node1, um das Bitcoin-Netzwerk zu verbinden und einige Blöcke herunterzuladen. Dann lösche ich die statischen DNS-Seeds in der Datei chainparam.cpp für beide zwei Knoten. Beide können sich also nicht mit dem Bitcoin-Netzwerk verbinden.

Ich habe node1 mit „./src/bitcoind -datadir=/bitcoin_block -listen=1“ und node2 mit „./src/qt/bitcoin-qt -datadir=/bitcoin_block“ gestartet. Und um node1 mit dem Befehl „ addnode 192.168.1.105:8333" auf node2 über das Debug-Fenster/die Konsole.

Der Status in node2 zeigt, Geben Sie hier die Bildbeschreibung einwir können sehen, dass node2 mit node1 verbunden ist, aber keine Blöcke von node1 synchronisieren kann.

Ich habe das debug.log von node2 überprüft und festgestellt, dass „getheaders from peer=0 ignoriert werden, da sich der Knoten im anfänglichen Blockdownload befindet“. Dann habe ich den nMinimumChainWork-Wert auf einen kleineren geändert und -maxtipage beim Starten von node2 angegeben, damit die folgende Prüfung fehlschlägt (Vorschläge von Altcoin-Verbindungsknoten ). Aber es wird immer noch nicht sych.

"chainActive.Tip()->GetBlockTime() < (GetTime() - nMaxTipAge)".

Kann hier jemand Tipps geben? Es hat mich hier wirklich gefesselt. Schätze deine Hilfe.

Antworten (2)

Dann lösche ich die statischen DNS-Seeds in der Datei chainparam.cpp für beide zwei Knoten. Beide können sich also nicht mit dem Bitcoin-Netzwerk verbinden.

Sie können sich auch ohne die DNS-Seeds mit dem Bitcoin-Netzwerk verbinden. Die DNS-Seeds sind nicht die einzige Möglichkeit, sich mit dem Netzwerk zu verbinden; Es gibt zahlreiche Fallbacks, wobei DNS-Seeds selbst ebenfalls ein Fallback sind.

-datablock=ist keine gültige Befehlszeilenoption. Wollten Sie verwenden -datadir?

Überprüfen Sie das Debug-Fenster Ihrer beiden Knoten. Hat Knoten1 eine Anzahl von Blöcken, die Sie erwarten? Hat node2 bereits Blöcke, die sehr schnell heruntergeladen wurden und Sie es nicht bemerkt haben?

Anstatt den addnodeRPC zu verwenden, versuchen Sie, die Startoptionen -addnodeoder zu verwenden, um Ihre Knoten zu verbinden.-connect

1. Es gibt keine Verbindungen, nachdem ich die DNS-Seeds gelöscht habe und keine Daten heruntergeladen werden. 2. Ja, ich meine -datadir, entschuldigen Sie das Missverständnis. 3. Ich habe überprüft, dass es in node1 keine Blöcke außer dem Genesis-Block gibt. Und node2 hat keine Blöcke bekommen, nachdem ich seine Seeds in chainparam.cpp gelöscht habe.

Ich habe bitcoin-0.14 verwendet und vergessen, den Chain-Limit-Parameter (nMinimumChainWork) zu ändern. Es funktioniert gut, nachdem ich die Begrenzung heruntergesetzt habe.