Fehler „kein Schlüssel für angegebene Adresse oder Datei“ beim Entsperren des Coinbase-Kontos

Mit der json-rpc- eth_unlockAccount()Methode kann ich alle meine Knotenkonten außer coinbase entsperren . Beim Versuch, das Coinbase-Konto zu entsperren, antwortet Geth mit der Nachricht:

kein Schlüssel für angegebene Adresse oder Datei.

Ich habe Ethereum Wallet gelesen: Fehler ohne Schlüssel für angegebene Adresse oder Datei , aber ich verwende kein Ethereum Wallet, sondern nur json-rpc-Aufrufe an den Geth-Knoten. Trotzdem habe ich den Geth-Knoten neu gestartet, wie in der Antwort empfohlen, aber immer noch der gleiche Fehler.

Wie kann ich das Coinbase-Konto entsperren? Warum der Fehler:

kein Schlüssel für angegebene Adresse oder Datei.

PS: Beim Versuch, das Coinbase-Konto direkt über die Befehlszeile zu entsperren, dasselbe Ergebnis:

$ geth --testnet --unlock 0x47978a69f410d0f61850c92acdb0d4c464d70937

Schwerwiegend: Konto 0x47978a69f410d0f61850c92acdb0d4c464d70937 konnte nicht entsperrt werden (kein Schlüssel für angegebene Adresse oder Datei)

Sind Sie sicher, dass Sie den Schlüssel zu Ihrem coinbaseKonto tatsächlich besitzen? Die Coinbase ist standardmäßig auf Ihre erste Adresse eingestellt, kann aber auch manuell auf einen beliebigen Wert eingestellt werden.
Ja. Ich habe das Passwort mit dem Befehl geth account update zurückgesetzt, aber immer noch derselbe Fehler.
Mein Coinbase-Konto ist 47978a69f410d0f61850c92acdb0d4c464d70937 und es gibt eine Datei .ethereum/keystore/UTC--2016-08-12T16-23-07.956658700Z--47978a69f410d0f61850c92acdb0d4c934 .70934 Die Sache ist, dass auf Geth 6 weitere Konten definiert sind, aber sie haben keine zugehörige Datei im Ordner .ethereum/keystore/ . Recht seltsam! Hat es etwas mit dem Problem zu tun, das ich melde? Das einzige Konto, das ich nicht entsperren kann, hat eine zugehörige Datei auf .ethereum/keystore/ ...
Bevor Sie versuchen, über json-rpc zu entsperren, wie wäre es, wenn Sie direkt von der Geth-Konsole aus entsperren? Funktioniert das?
Gleiches Ergebnis: $ geth --testnet --unlock 0x47978a69f410d0f61850c92acdb0d4c464d70937 Schwerwiegend: Konto 0x47978a69f410d0f61850c92acdb0d4c464d70937 konnte nicht entsperrt werden (kein Schlüssel für angegebene Adresse oder Datei)
Ich denke, das Problem könnte damit zusammenhängen, dass Mainnet mit Testnet-Konten durcheinander gebracht wird ... Ich habe das Coinbase-Konto im Mainnet definiert, aber ich versuche, es im Testnet zu entsperren. Das könnte der Ursprung des Problems sein...
Ja, es führt einen separaten Keystore für die Testnet-Konten. Sie können die Schlüssel in kopieren .ethereum/keystoreund ethereum/testnet/keystoreSie sollten fertig sein.
@TjadenHess hat die wahre Antwort

Antworten (4)

Wir bekamen den gleichen Fehler und es stellte sich heraus, dass es zwei widersprüchliche Schlüsseldateien gab. Eine im Standard (~/.ethereum) und eine an einem benutzerdefinierten Speicherort, den wir mit --datadir angegeben hatten.

Am Ende ging es nur darum, die Skripte zu bereinigen, mit denen wir den Geth-Knoten bereitgestellt haben, um sicherzustellen, dass wir konsequent nur den einen oder anderen Keystore verwenden (in unserem Fall haben wir uns für den Standard entschieden).

Nachdem wir das getan hatten, war das Problem gelöst.

Oder Sie könnten einfach den Speicherort von --keystore ( https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options ) angeben.

im Geth-Konsolenproblem

web3.personal.importRawKey("private key", "password")

Danach konnte ich entsperren

Überprüfen Sie, ob der Schlüssel in „.ethereum/testnet/keystore“ für Testnet und „.ethereum/keystore“ für Mainnet vorhanden ist.

Der Name der Schlüsseldatei enthält den öffentlichen Schlüssel