Ich habe hier eine Option gesehen, Mist mit einem privaten Netz zu verbinden
geth --networkid 1234 --ipcpath /Users/you/Library/Ethereum/geth.ipc
Sieht so aus, als ob der Pfad irgendwo im Code fest codiert ist.
Wie kann ich Mist mit einem entfernten privaten Netzwerk verbinden?
Sieht so aus, als ob der Pfad irgendwo im Code fest codiert ist.
Ja. Die Mist-Verbindungen sind fest codiert, um nur IPC und nicht RPC zu verwenden.
user@Kumquat:~/EthereumSource/mist$ find . -iname '*ipc*'
./tests/mocha-in-browser/spec/ipc-spec.js
./modules/ipc
./modules/ipc/ipcProviderBackend.js
./modules/ipc/ipcProviderWrapper.js
./modules/ipc/getIpcPath.js
./modules/ipcCommunicator.js
user@Kumquat:~/EthereumSource/mist$ find . -iname '*rpc*'
./nodes/eth/darwin-x64/libjsonrpccpp-client.0.dylib
./nodes/eth/darwin-x64/libjsonrpccpp-server.0.dylib
./nodes/eth/darwin-x64/libjsonrpccpp-common.0.dylib
./nodes/eth/darwin-x64/libweb3jsonrpc.dylib
Und Ihre IPC-Pfade finden Sie in den Zeilen 7 bis 24 von modules/ipc/getIpcPath.js
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';
console.log('CONNECT to IPC PATH: '+ path);
return path;
};
Vernebeln und geth
kommunizieren Sie über IPC, indem Sie einen Dateideskriptor auf dem lokalen Computer öffnen und dann über diesen Dateideskriptor Nachrichten aneinander senden. Also derzeit keine Fernverbindung.
Wie kann ich Mist mit einem entfernten privaten Netzwerk verbinden?
Sie könnten versuchen, Ihre lokale Instanz von über das P2P-Protokoll geth
mit Ihrem Remote geth
-Knoten zu verbinden und Mist dann geth
über IPC mit Ihrer lokalen Instanz zu verbinden.
Mit anderen Worten, machen Sie Ihren lokalen Computer einfach zu einem weiteren Knoten in Ihrem privaten Netzwerk.
Sie können eine separat installierte Kopie von installieren geth
oder das geth
mit Mist gepackte verwenden, das in den folgenden Verzeichnissen verfügbar ist:
{MISTINSTALLDIRECTORY}/resources/node/geth/geth
für Linux und Mac OS X{MISTINSTALLDIRECTORY}\resources\node\geth\geth.exe
für WindowsWenn Ihr privates Netzwerk über eine --networkid {xyz} und eine benutzerdefinierte Genesis-Datei verfügt, verwenden Sie die --networkid {xyz}
und --genesis {custom genesis file}
.
Als nächstes müssen Sie Ihren Einheimischen dazu bringen geth
, mit Ihren privaten Netzwerkknoten zu sprechen. Dies muss durch Verwenden --bootnodes
oder Erstellen der Dateien static-nodes.json
oder trusted nodes
in Ihrem Datenverzeichnis erfolgen. Denken Sie daran, für ein {x} ungleich Null hinzuzufügen --maxpeers {x}
, da das Auslassen dieses Symbols in der Befehlszeile das Herstellen von Verbindungen zu verhindern scheint.
geth
mit einem --networkid {uniqueid}
und --genesis {custom genesis file}
ausführen und sie miteinander kommunizieren lassen, genau wie das Mainnet-Ethereum-Netzwerk über Port 30303 kommuniziert.
q9f