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?
Sie sollten in der Lage sein, geth
Ihre Befehlszeile mit Ihren privaten Netzwerk-Setup-Parametern auszuführen , wenn Sie --ipcpath
auf den Standarddateipfad verweisen ~/Library/Ethereum/geth.ipc
.
Starten Sie Ethereum Wallet und es wird den Standard-IPC-Pfad verwenden, um mit geth
dem 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 --dev
Netzwerkkonten 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 geth
Instanz 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 geth
Instanz, 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 geth
Instanz gleichzeitig kommunizieren wird.
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';
Niksmac
skarred14