Go-Ethereum

為什麼 geth 節點已經在執行時,mist 會阻止導入帳戶?

  • July 4, 2017

我遇到了這個問題。該執行緒中描述了原因,但未解釋。

如果我執行mist並讓它啟動自己的節點,則Accounts>Import菜單項可用。

如果我geth自己執行然後執行,mist --rpc /home/me/.ethereum/geth.ipc則菜單項是灰色的。

在此處輸入圖像描述

錯誤報告執行緒中的語氣似乎表明這是正常的預期行為。這種行為的原因是什麼?

安全原因。當您刪除文件而不是 privKey 時,將通過 rpc 進行文件傳輸。雖然風險很低,但還是有風險的。此外,geth 的導入功能(例如 geth account import ./key.prv)適用於私鑰,但不適用於 json。迷霧希望您拖放 json 文件。

編輯:更準確:

“純”geth 沒有 json 錢封包件的導入功能。它只能導入私鑰(參見https://github.com/ethereum/go-ethereum/wiki/Managing-your-accounts#import-private-key)。

Mist“導入賬戶”功能接受 json 格式的錢封包件。但是它們不能通過遠端過程呼叫(RPC)傳遞給geth,因為geth沒有過程來處理它們(它只能導入私鑰,不能導入json錢封包件)。

您正在執行 rpc (mist –rpc),因此它無法工作並且顯示為灰色。

如果您在沒有與另一個 geth 實例的 RPC 連接的情況下啟動 Mist - 因此只需在沒有任何命令行內容的情況下啟動 Mist - ,則 Mist 和節點在一個上下文中執行。這意味著,Mist GUI 可以將 json 文件傳遞到節點的密鑰文件夾中(例如 ~/.ethereum/keystore)。但是 RPC 不允許這樣做(例如出於安全原因),因為使用 RPC,Mist 和 geth 不會在一個上下文中執行。

而且顯然沒有“導入私鑰”的 Mist 菜單條目。許多(以最終使用者為中心的)乙太坊瀏覽器沒有“導入私鑰”功能,因為這會帶來安全風險。

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