iOS-Knoten synchronisiert nicht mit privatem BKC

Ich verwende das Geth-Framework und Swift 4, um einen Knoten in einer iOS 11.0-App zu booten. Dieser Knoten verbindet sich mit meinem lokalen BKC (um genau zu sein mit 4 Knoten).

Hier sind einige Tests, die ich gemacht habe:

  • Wenn ich 3 Computerknoten starte und mit dem Mining beginne, wird der 4. Computerknoten beim Start synchronisiert
  • Wenn ich alle meine Knoten (Computer und App) starte und auf einem Computerknoten mit dem Mining beginne, wird jeder Knoten dies bemerken und synchronisieren
  • Wenn ich alle meine Computerknoten starte und mit dem Mining beginne und dann einen neuen App-Knoten starte, wird der App-Knoten nicht synchronisiert (selbst wenn er sich ohne Probleme mit Computerknoten verbindet).
  • Wenn ich meinen App-Knoten mit Rinkeby Genesis und Bootnodes starte, wird er nach einigen Sekunden synchronisiert

Also habe ich wahrscheinlich etwas verpasst, aber ich verstehe nicht, warum mein App-Knoten mit Rinkeby und nicht mit meiner privaten Blockchain synchronisiert wird.

Ich verwende eine static-nodes.json-Datei, um alle meine Knoten miteinander zu verbinden (Computer und App).

Ich starte meine Computerknoten mit : geth --datadir <datadir> --port <port> --networkid <id> --v5disc --lightserv <int> console.

Ich verwende eine benutzerdefinierte Genesis-Datei. Die admin.peersMethode bestätigt mir, dass alle meine Knoten problemlos miteinander verbunden sind. Und ich verwende das GethSetVerbosity(9), um Trace und Debugging in meiner Xcode-Konsole anzuzeigen.

Irgendeine Idee ?

Wenn Sie dieses Problem immer noch haben, wäre es großartig, wenn Sie Ihre Frage bearbeiten und Ihre Netzwerktopologie und geöffneten Ports zwischen den Knoten und dem IOS-Gerät angeben könnten. Wenn Sie das Problem gelöst haben, wäre es großartig, wenn Sie auch „selbst antworten“ könnten!

Antworten (1)

Muss ein iOS-Gerät als Knoten verwendet werden? Ich kann mir keinen Grund dafür vorstellen. Für die meisten Dinge, die Sie in einem Mobiltelefon benötigen, können Sie JSON RCP verwenden .