Führen Sie testnet in einem Cluster aus

Ich habe ein Blockchain-Testnetz in einem Cluster mit verschiedenen Knoten gestartet und habe einige Fragen zur Funktionsweise. Wenn ich mehr als einen Geth-Client (einen Knoten in der Blockchain) in einem Knoten des Clusters ausführe:

  • Was ist der Unterschied zwischen dem und dem Ausführen in verschiedenen Knoten des Clusters?
  • Sollten sie alle minen, um den letzten in der Blockchain hinzugefügten Block zu erhalten? Wenn einer der Geth-Clients, die auf einem Knoten des Clusters ausgeführt werden, Mining durchführt, erhalten andere Geth-Clients, die auf demselben Knoten ausgeführt werden, ebenfalls den letzten Block? (Ich verstehe die Interaktion zwischen verschiedenen Rollen eines Knotens, der sich in der Blockchain befinden könnte, wie Miner-Knoten oder Vollknoten, nicht sehr gut).
  • Gibt es einen Unterschied beim Senden einer Transaktion zwischen zwei Clients in einem Knoten des Clusters und zwei Clients in zwei verschiedenen Knoten?

Z.BGeben Sie hier die Bildbeschreibung ein

Antworten (1)

  • Das Ausführen von Knoten auf verschiedenen Computern kann Ihnen möglicherweise eine realistischere Simulation des Mainnets geben, da Sie eine gewisse zusätzliche Latenzzeit haben. Aber für kleine Cluster wird es fast unbemerkt sein. Außerdem erleichtert das Ausführen von Knoten auf verschiedenen Computern die Bewertung des Computerleistungsbedarfs / Speicherbedarfs für einen einzelnen Knoten. Und aus Sicherheitsgründen ist es einfacher, Ihr Netzwerk zu hacken, wenn sich alle Knoten auf demselben Computer befinden

  • Nein, Sie müssen nicht alle Knoten Mining haben, um Transaktionen weiterzuleiten. Das Weiterleiten von Transaktionen ist die grundlegendste Rolle, die ein Knoten haben kann, und alle Knoten tun dies zumindest.

  • Kein Unterschied. Schließlich wird die Transaktion an alle Knoten des Netzwerks weitergeleitet. Wenn Sie sich Sorgen um die Latenz machen, können Sie die Transaktionen an verschiedenen Stellen des Netzwerks weiterleiten. Aber wir reden hier nur von 100 Millisekunden..

Danke für die Antwort. Und wenn Sie sich das Bild ansehen, wissen Sie, was passiert, wenn ich zum Beispiel ein Skript in Knoten 1 ausführe, das einen TX von GC1 und einen anderen von GC3 sendet, der sich in Knoten 2 befindet? Beeinflusst es die Latenz?