Ethereum Wallet mit privatem Testnet funktioniert nicht: chaindata/LOCK:Permission Denied

Versuch, Ethereum Wallet mit dem privaten Testnetz zu verbinden, aber mit Problemen konfrontiert.

Habe diesen Befehl ausgeführt:

geth --genesis /home/cgen.json --datadir '/home/systemname/Desktop/node2/geth.ipc ~/.ethereum/geth.ipc' --networkid 12345 --nodiscover --port 30302 --verbosity 0 console

Und dann startete Ethereum Wallet.

Ich habe den FehlerERROR: Could not open database open/home/systemname/.ethereum/chaindata/LOCK:Permission Denied

Geben Sie hier die Bildbeschreibung ein

Das oben erwähnte ausführen, aber Fehler erhalten.

Versuchen Sie, gethmit zu laufen sudo. @ jasu

Antworten (1)

BEARBEITUNG 06.07.2016

Das Problem, das Sie mit der Sperrung der Chaindata bekommen, liegt daran, dass Sie eine Instanz von gestartet haben gethund Ethereum Wallet dann versucht, eine weitere Instanz von `geth.

Bevor/wann/nachdem Sie den Fehler erhalten, geben Sie in einem anderen Terminalfenster ein

ps -ef | grep geth 

Wenn Sie zwei Instanzen von sehen geth, ist dies die Ursache für Ihr Sperrproblem.

Die Ursache dafür ist, dass Ethereum Wallet versucht, mit jeder vorhandenen gethInstanz über die IPC-Datei zu kommunizieren, und dies in Ethereum Wallet fest codiert ist ~/.ethereum/geth.ipc. Wenn Ethereum Wallet keine vorhandene gethInstanz erkennen kann, wird es versuchen, eine neue gethInstanz zu starten, und dann haben Sie das Sperrproblem.

Um dieses Problem zu beheben, sehen Sie sich die Verwendung des --ipcpath ~/.ethereum/geth.ipcBefehlszeilenparameters unten an.


Versuche Folgendes:

  1. Erstellen Sie eine Kennwortdatei

    echo "testpassword" > /tmp/passwordfile
    
  2. Erstellen Sie ein neues Konto mit einem temporären Datadir

    geth --dev --datadir /tmp/devdatadir --password /tmp/passwordfile account new
    
  3. Im Mining geth-Modus ausführen

    geth --dev --datadir /tmp/devdatadir --mine --minerthreads 1 --password /tmp/passwordfile --ipcpath ~/.ethereum/geth.ipc console
    
  4. Dann läuft Ethereum Wallet. Sie sollten oben auf dem Ethereum Wallet-Bildschirm eine PRIVATE-NET-Anzeige sehen. Und Sie sollten sehen, dass Ihr HAUPTKONTO (ETHERBASE) ziemlich schnell 5 Ether ausklickt.

Wenn dies funktioniert, stellen --datadirSie das gewünschte Ziel ein und verwenden Sie es, /tmp/passwordfilewenn Sie möchten.

Siehe auch Wie wechsle ich in ein privates Netzwerk in der Etherum-Brieftasche?

Habe die oben genannten Schritte befolgt, bekomme aber den gleichen Fehler
Haben Sie überprüft, ob mehr als eine Instanz gethausgeführt wurde?
Alle Terminals geschlossen und ein neues gestartet, kam zurück -- 16620 16604 0 16:00 pts/0 00:00:00 grep --color=auto geth
Bitte überprüfen Sie dies erneut, kurz bevor Sie die Fehlermeldung erhalten, dann, wenn Sie die Fehlermeldung erhalten, dann, nachdem Sie die Fehlermeldung erhalten haben.
Ich habe den grep-Befehl nach dem Fehler ausgeführt und dieses root 4387 2623 46 16:10 pts/2 00:02:00 geth --dev --datadir /tmp/devdatadir --mine --minerthreads 1 --password /tmp/passwordfile erhalten --ipcpath /home/Infotech/.ethereum/geth.ipc Konsole Info+ 4545 4531 0 16:14 pts/4 00:00:00 grep --color=auto geth
Hat der Sperrfehler erwähnt, dass sich die Sperre auf /tmp/devdatadir/chaindata/LOCK oder /home/infotech/.ethereum/chaindata/LOCK befindet? Welche Version von Ethereum Wallet verwenden Sie? Übrigens können Sie Ihre ursprüngliche Frage bearbeiten, um weitere Bildschirme und Informationen hinzuzufügen.