Verbinden mit Remote-Geth nicht möglich: Ungültige Pipe-Adresse „/.rinkeby/geth.ipc“

Ich verwende Windows und versuche, mich über rinkeby mit Ethereum Testnet zu verbinden.

Ich habe Geth 1.8.2 und Ethereum Wallet 0.9.3 heruntergeladen

Ich gab den 1. Befehl als:

geth --rinkeby --fast --cache=1024

HINWEIS: Nach dem obigen Befehl erhalte ich den Befehl urlon cmd als:

url=\\\\.\\pipe\\geth.ipc

Und 2. Befehl in einer anderen Eingabeaufforderung als:

geth --datadir=./rinkeby Attach

Die gleichen Befehle funktionierten früher.

Ich habe sowohl Geth als auch Ethereum Wallet deinstalliert und die neuesten Versionen installiert. Ich habe die Befehle auch in früheren Versionen ausprobiert, wo sie funktionierten, aber jetzt nicht mehr.

Ich habe gerade auch versucht, eine Verbindung zum privaten Netz herzustellen, habe aber die Fehlermeldung an der 2. Eingabeaufforderung wie folgt erhalten:

Kann nicht an Remote-Geth anhängen: kein bekannter Transport für URL-Schema "c"

Vielen Dank im Voraus!

Sind Sie auf Windows oder Linux?
@ismael Ich bin auf Windows
Sowohl geth attach ipc:\\.\pipe\geth.ipcals auch geth attach \\.\pipe\geth.ipcarbeiten mit geth v1.8.2. Werde später versuchen, mit einer älteren Version zu testen, um zu überprüfen, ob sich das Verhalten geändert hat. Wenn Sie sicher sind, sollten Sie das Problem im go-ethereum Issue Tracker in github melden, damit es behoben ist.
@Ismael IMO, das Problem ist, was ich früher nach dem 1. Befehl in cmd bekommen habe, war: url=\\.\\pipe\\geth.ipcaber jetzt bekomme ich: url=\\\\.\\pipe\\geth.ipc. Also, ich denke, das ist der Grund, warum ich den Fehler erhalte: "Verbindung zu entferntem Geth nicht möglich: Ungültige Pipe-Adresse '/.rinkeby/geth.ipc"
Bezieht sich das auf die Umgebungsvariable?
Der richtige Pfad unter Windows ist \\.\pipe\geth.ipc. Vielleicht versucht Geth, dem Backslash `` zu entkommen (der Backslash ist ein Escape-Zeichen in der Go-Sprache).
@Ismael Ja, das verstehe ich, aber wie man diesen Pfad ändert. Wir geben geth --rinkeby --fast --cache=1024diesen Befehl direkt in Rinkeby oder geth --datadir=./chaindata --fast --cache=1024diesen Befehl in Private net. Wo und wie soll ich diesen Pfad angeben? Danke!

Antworten (1)

Beim Testnetz bin ich mir sicher. Aber die folgende Lösung ist einfach für private Netzwerke. Und es funktioniert gut.

Geben Sie beim Ausführen des Geth-Knotens selbst den ipcpath an. Es öffnet den Geth-Knoten, die IPC- und die Javascript-Konsole für Sie in einem einzigen Fenster. Versuchen Sie den folgenden Befehl.

geth --datadir ../../private-network/node1 \
      --networkid 2061 \(it should be same, if you are running multiple nodes)
      --port 30304 \ (should be different for every nodes)
      --nodiscover \
      --rpc \
      --rpcaddr 127.0.0.1 \
      --rpcport 8504 \ (should be different for every nodes)
      --ipcpath ../../private-network/node1/geth.ipc \
      --mine --minerthreads 1 --gasprice "10000" \
      --etherbase 0xf628e41f3ca68341e9857102d4b3040aa418d763 \ (your coinbase account address)
      --verbosity 3 console

Ein Beispiel für das gegebene Skript.

geth --datadir=D:/Blockchain_Tech/node1 --networkid 2061 --port 30305 --nodiscover --rpc --rpcaddr 127.0.0.1 --rpcport 8505 --ipcpath=D:/Blockchain_Tech/node1/geth.ipc --mine --minerthreads 1 --gasprice "10000" --etherbase 0x58ef18d5667552b4c0524b9a78cbf9493d2bd74a --verbosity 3 console

Hinweis:- Dieses Skript ist für MS-Windows.