Go-Ethereum

解鎖 coinbase 帳戶時出現“沒有給定地址或文件的密鑰”錯誤

  • June 13, 2019

使用 json-rpceth_unlockAccount()方法,我可以解鎖除coinbase之外的所有節點帳戶。當嘗試解鎖 coinbase 帳戶時,geth 會回復以下消息:

沒有給定地址或文件的密鑰。

我一直在閱讀乙太坊錢包:給定地址或文件沒有密鑰的錯誤,但我沒有使用乙太坊錢包,而只是 json-rpc 呼叫 geth 節點。儘管如此,我已經按照答案中的建議重新啟動了 geth 節點,但仍然是同樣的錯誤。

如何解鎖coinbase賬戶?為什麼錯誤:

沒有給定地址或文件的密鑰。

PS:嘗試直接用命令行解鎖coinbase賬戶,結果相同:

$ geth --testnet --unlock 0x47978a69f410d0f61850c92acdb0d4c464d70937

致命:無法解鎖帳戶 0x47978a69f410d0f61850c92acdb0d4c464d70937(沒有給定地址或文件的密鑰)

我們遇到了同樣的錯誤,結果發現有兩個衝突的密鑰文件。一個在預設位置(~/.ethereum),一個在我們使用 –datadir 指定的自定義位置。

最後,這只是清理我們用於部署 geth 節點的腳本的一個案例,以確保我們始終只使用一個或另一個密鑰庫(在我們的案例中我們使用預設值)

一旦我們這樣做了,問題就解決了。

或者您可以只指定 –keystore 的位置(https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options)。

引用自:https://ethereum.stackexchange.com/questions/8684