Richten Sie den Mist-Browser für einen privaten Go-Ethereum-Docker-Cluster ein

Stellen Sie sich ein Basis-Setup vor, das aus „n“ Docker-Containern (innerhalb einer VM, die unter OSX ausgeführt wird) besteht, auf denen jeweils eine Geth-Instanz ausgeführt wird. Dank der Anleitung von @BokkyPooBah konnte ich in einem anderen Thread einen Cluster von 4 Containern einrichten, die alle als Peers im Netzwerk hinzugefügt wurden und jeweils ein Konto haben. Jetzt versuche ich, die Mist-Browser-Oberfläche auf dem Host-OSX mit den Containern zu verbinden, um über Konten navigieren zu können. Typische Anweisungen und Hilfen rund um die Verwendung des Browsers schlagen vor, wie der Browser mit einer einzelnen Geth-Instanz verbunden werden kann. Gibt es eine Möglichkeit, den Browser über mehrere Knoten (Container) hinweg zu verbinden?

Der andere Beitrag befasste sich mit dem Ausführen eines Clusters, und diese Frage verbindet den Cluster mit einem gemeinsamen Mist-Browser auf dem Hostcomputer, um eine Verbindung zu den mehreren Containern herzustellen. Die ursprüngliche Frage wurde bearbeitet, um zu verdeutlichen, wo der Browser gehostet wird

Antworten (1)

Sie sollten in der Lage sein, gethIhre Befehlszeile mit Ihren privaten Netzwerk-Setup-Parametern auszuführen , wenn Sie --ipcpathauf den Standarddateipfad verweisen ~/Library/Ethereum/geth.ipc.

Starten Sie Ethereum Wallet und es wird den Standard-IPC-Pfad verwenden, um mit gethdem ausgeführten zu kommunizieren, um mit Ihrem lokalen privaten Netzwerk zu kommunizieren.

Ich habe dies gerade mit getestet geth --dev ...und sehe ein "PRIVATE-NET" in Rot in der oberen Menüleiste von Ethereum Wallet, wobei meine --devNetzwerkkonten geladen sind.


F : Jetzt versuche ich, die Mist-Browser-Oberfläche auf dem Host-OSX zu haben, um eine Schnittstelle mit den Containern herzustellen, um in der Lage zu sein, zwischen Konten zu navigieren.

A : Sie können durch die Konten navigieren, wenn Sie alle Konten in der gethInstanz geladen haben, mit der der Mist-Browser verbunden ist. Kopieren Sie einfach die Dateien aus Ihren Schlüsselspeichern in jedem Docker-Knoten in den Schlüsselspeicher der gethInstanz, mit der sich Ethereum Wallet verbinden wird.


F : Gibt es eine Möglichkeit, den Browser über mehrere Knoten (Container) hinweg zu verbinden?

A : Aus dem Quellcode geht hervor, dass das Ethereum Wallet nur mit einer gethInstanz gleichzeitig kommunizieren wird.


Ethereum Wallet Hardcodierte IPC-Dateipfade

Von Mist getIpcPath.js - Zeilen 10 bis 23 sind hier die hartcodierten IPC-Dateipfade:

module.exports = function() {
    var p = require('path');
    var path = global.path.HOME;

    if(process.platform === 'darwin')
        path += '/Library/Ethereum/geth.ipc';

    if(process.platform === 'freebsd' ||
       process.platform === 'linux' ||
       process.platform === 'sunos')
       path += '/.ethereum/geth.ipc';

    if(process.platform === 'win32')
       path = '\\\\.\\pipe\\geth.ipc';
Danke für die Vorschläge. In Bezug auf die Möglichkeit, zwischen Konten zu navigieren, denke ich, dass das Container-Volume mit dem Standard-Keystore-Verzeichnis der Ethereum-Brieftasche synchronisiert werden kann. Für ein Szenario mit mehreren Knoten besteht die einzige Möglichkeit, die ich mir vorstellen kann, darin, den Schlüsselspeicher jedes Knotens mit dem Schlüsselspeicher auf dem Host zu synchronisieren, aber das würde die Identifizierung von Knoten im Browser nicht lösen. Wahrscheinlich gibt es im Quellcode Möglichkeiten, eine Erweiterung für mehrere Knoten vorzunehmen.