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, wir 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.
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 addnode
RPC zu verwenden, versuchen Sie, die Startoptionen -addnode
oder zu verwenden, um Ihre Knoten zu verbinden.-connect
Ich habe bitcoin-0.14 verwendet und vergessen, den Chain-Limit-Parameter (nMinimumChainWork) zu ändern. Es funktioniert gut, nachdem ich die Begrenzung heruntergesetzt habe.
李芳林