MyEtherWallet 命令列恢復全攻略:助記詞、私鑰與 Keystore 安全復原實戰

安全聲明: 助記詞、私鑰與 Keystore 密碼等同資產控制權。任何要求你上傳、截圖、貼到網站或傳給他人的流程都應立即停止。本文以離線環境、官方開源碼與受信任命令列工具為核心,僅供教育與自救參考。
為什麼要用命令列恢復 MEW?
MyEtherWallet(MEW)長期以圖形介面聞名,官方主流流程仍是透過 MEW 離線版或硬體錢包操作。命令列恢復的價值在於:
- 可離線執行:降低釣魚網站與惡意擴充套件風險。
- 可重複驗證:用同一套指令核對地址、衍生路徑與 Keystore 解密結果。
- 適合自救:當瀏覽器環境異常、舊版頁面無法開啟時,可用本機 Node.js 工具輔助恢復。
- 便於隔離:可在乾淨虛擬機或氣隙電腦中完成,事後直接銷毀環境。
需要先說明:MEW 官方並未把完整恢復流程設計成單一命令列工具。實務上較安全的做法是「官方 MEW 離線版核對」加上「Node.js 命令列輔助解密與地址驗證」。以下流程即依此原則設計。
一、恢復前準備:先隔離,再操作
- 準備一台乾淨、可離線的電腦或虛擬機,建議使用 Linux Live USB 或全新 VM。
- 從官方來源取得 MEW 開源碼或離線版,並核對 GPG、雜湊值或 Release 資訊。
- 安裝 Node.js LTS、Git 與基本終端機工具。
- 準備你的恢復憑證:助記詞、私鑰或 Keystore JSON + 密碼。
- 關閉網路、藍牙與不必要的同步服務;不要截圖,不要將敏感字串存入剪貼簿。
- 先在少量資金的測試錢包演練,確認地址一致後再處理主錢包。
提醒: 若你不熟悉終端機、Shell 歷史紀錄與檔案抹除,優先使用 MEW 官方離線版圖形介面與硬體錢包,不要勉強用命令列。
二、用官方開源碼啟動 MEW 離線版
以下為常見建置流程,實際指令請以該版本官方 README 為準:
git clone https://github.com/MyEtherWallet/MyEtherWallet.git
cd MyEtherWallet
npm install
npm run build
npx serve dist
建置完成後,在本機瀏覽器開啟終端機顯示的本地網址。此時請確認:

- 位址是
localhost或127.0.0.1,不是外部網域。 - 網路已斷開,瀏覽器沒有可疑擴充套件。
- 只用「助記詞 / 私鑰 / Keystore」匯入或解鎖,不使用陌生 WalletConnect 連線。
三、建立命令列輔助恢復環境
在另一個乾淨資料夾中安裝 ethers.js:
mkdir mew-recover && cd mew-recover
npm init -y
npm install ethers@6
建立 recover.js,用於離線解析助記詞、私鑰與 Keystore:
const fs = require('fs');
const { Wallet, HDNodeWallet } = require('ethers');
async function main() {
const mode = process.argv[2];
if (mode === 'mnemonic') {
const phrase = process.argv.slice(3).join(' ');
const wallet = HDNodeWallet.fromPhrase(phrase);
console.log('地址:', wallet.address);
console.log('私鑰:', wallet.privateKey);
} else if (mode === 'privateKey') {
const wallet = new Wallet(process.argv[3]);
console.log('地址:', wallet.address);
} else if (mode === 'keystore') {
const json = fs.readFileSync(process.argv[3], 'utf8');
const password = process.argv[4];
const wallet = await Wallet.fromEncryptedJson(json, password);
console.log('地址:', wallet.address);
console.log('私鑰:', wallet.privateKey);
} else {

console.log('用法: node recover.js mnemonic 助記詞...');
console.log(' node recover.js privateKey 私鑰');
console.log(' node recover.js keystore keystore.json 密碼');
}
}
main().catch((err) => {
console.error('恢復失敗:', err.message);
process.exit(1);
});
重要: 直接把助記詞或私鑰放在命令列參數,可能殘留在 Shell 歷史或程序列表。正式操作請使用互動式隱藏輸入、環境變數後立即
unset,或在氣隙環境完成後立刻銷毀 VM。
四、三種恢復方式的操作要點
1. 助記詞恢復
若你的 MEW 錢包由 BIP39 助記詞建立,預設衍生路徑通常是 m/44'/60'/0'/0/0。ethers v6 的 HDNodeWallet.fromPhrase 預設即採用此路徑。
read -s -p '請輸入助記詞: ' PHRASE
node recover.js mnemonic $PHRASE
unset PHRASE
history -c
檢查輸出的地址是否與你記憶中的 MEW 地址一致。若不一致,常見原因是:
- 助記詞單字順序錯誤、拼寫錯誤或語言不一致。
- 你曾使用非預設衍生路徑。
- 你匯入的是其他錢包格式,而非標準 BIP39/BIP44。
2. 私鑰恢復
私鑰適合單一地址恢復。請確認私鑰為 64 位十六進位字串,且不要有多餘空白。

read -s -p '請輸入私鑰: ' PRIVATE_KEY
node recover.js privateKey $PRIVATE_KEY
unset PRIVATE_KEY
history -c
若地址不符,先檢查是否貼錯、少字元、混入換行,或誤把 Keystore JSON 當成私鑰。
3. Keystore JSON 恢復
MEW 舊版常匯出 Keystore JSON。此檔案本身可公開,但密碼必須保密。
node recover.js keystore keystore.json 你的密碼
history -c
若解密失敗,請確認檔案編碼為 UTF-8、密碼大小寫與空白正確,並確認 JSON 未被編輯或損壞。
五、地址驗證與資金轉移建議
恢復出地址後,先不要急著匯入主錢包。建議流程:
- 在離線環境記錄地址,僅用地址在區塊瀏覽器查詢餘額與交易紀錄。
- 確認地址與舊 MEW 畫面、交易紀錄或備份紙本一致。
- 若地址正確,優先在 MEW 離線版或硬體錢包中完成後續操作。
- 恢復成功後,建議建立新錢包並轉移資產,避免舊助記詞或私鑰長期暴露風險。
- 完成後刪除
recover.js、暫存檔、Shell 歷史與 VM 快照,必要時進行磁碟抹除。
六、常見問題與排查
- 地址不一致: 優先檢查衍生路徑、助記詞順序與錢包格式。
- Keystore 解不開: 檢查密碼、JSON 完整性與是否為 MEW v2/v3 格式。
- 命令列出現亂碼: 確認終端機編碼為 UTF-8,助記詞單字不要用全形字元。
- 担心敏感字串殘留: 使用氣隙 VM,操作後直接銷毀;不要只依賴
history -c。 - 想用線上工具加速: 不建議。任何線上解密、恢復或轉換工具都可能竊取資產。
結語
MyEtherWallet 命令列恢復的核心不是「神奇指令」,而是離線隔離、官方來源、逐步驗證與事後清理。助記詞、私鑰與 Keystore 三種憑證各有適用場景;命令列工具適合輔助解密與地址核對,最終仍應以 MEW 官方離線版或硬體錢包完成高風險操作。記住:真正安全的恢復流程,寧可慢,也不要為了方便而暴露私鑰。