從 Bitcoin Core 27 的 Descriptor wallet 匯出私鑰
前言不用看
隨著科技的進步與時代的演變,比特幣的發展也跟著日新月異。過去流浪貓曾用手動匯出私鑰以及建立離線 Linux 主機的方式,幫朋友開設比特幣與乙太幣的冷錢包。然而時隔今日,這些教學的某些關鍵步驟卻因軟體版本的升級而失效。
匯出比特幣、乙太幣、多吉幣等加密貨幣私鑰,自製 QR Code 紙錢包
其中最大的改變,莫過於匯出私鑰的方式
舊版 Bitcoin core 可以在 console 主控台內以 dumpprivkey “address…” 的方式匯出該地址的私鑰,但考量到直接暴露私鑰的風險,後來開發團隊便將這個功能拔掉,改成以 Descriptor wallet 儲存私鑰資料。
Bitcoin core 27.0
dumpprivkey "address"
Only legacy wallets are supported by this command (code -4)
面對這個問題,最簡單的方法是用舊版 Bitcoin core 來匯出私鑰。根據相關論壇的高手指出,Bitcoin core 22.0 之前的版本應該都還支援 dumpprivkey 這個指令。
但如果問題這麼好解決,那你就太小看區塊鏈了
因為官方的原生客戶端 Bitcoin core 是全節點錢包 (Fullnode),而目前比特幣的區塊鏈大小約 620 GB 左右 (2025/01),同步不但曠日費時、佔用空間,還要等區塊鏈同步完才能進行收款與匯款。
例如:這次川普狂潮讓你心癢癢,想把放很久的比特幣挖出來當作給自己的年終獎金。結果區塊鏈同步要花一星期的時間,害你只能看著錢包餘額乾瞪眼。等同步跑完,搞不好已經錯失最佳時機。
故普通使用者採全節點錢包作為儲存方案,其實是不太理想的做法。
折衷方法是用輕量錢包、手機 APP、多幣種錢包存放「熱錢」;然後在拔掉網路卡和關閉藍芽的離線主機上開設冷錢包,並備份助記詞或私鑰作為最後防線。
因此,流浪貓將在這篇文章教你:
- 用 Bitcoin core 匯出 Descriptor wallet 並反查地址的私鑰
- 用 Electrum 的 Sweep 功能,將私鑰餘額匯入 Electrum
如此一來,就能繞過原生比特幣錢包的限制,立即匯出該地址的餘款,不用同步到天荒地老。
從 Bitcoin core 反查 Descriptor wallet 私鑰
如前言所述,Bitcoin 開發團隊為了強化隱私與提昇資安層級,因此把新版的 Bitcoin core 匯出私鑰功能拔掉了,只能導出所謂的 Descriptor wallet,所以第一步當然就是把這個東西給匯出來。
- 錢包解鎖
walletpassphrase "your_password" 6000
- 匯出錢包的地址描述資料
listdescriptors true
終端機會顯示 Descriptor wallet 資料
{
"wallet_name": "y_name",
"descriptors": [
{
"desc": "pkh(xpr...
- 匯出目標地址的關鍵資訊
getaddressinfo "address..."
> "wpkh(xp...xichina/m/0/1/*)#covid19"
- Descriptor wallet 找出目標錢包的 BIP39 加密資料
在Descriptor wallet 尋找符合 getaddressinfo 傳回之以下關鍵訊息的描述檔:
- 與 parent_desc 相同的位址類型:pkh, wpkh, sh, tr
- hdkeypath:m/0/1/…
例如,從 getaddressinfo 得知,目標地址的類型為 wpkh、hdkeypath 為 m/0/1/。根據這兩個訊息,使用者就能在 Descriptor wallet 找到相對應的 xprv 金鑰。翠習維尼
{"desc": "wpkh(xprv...ypu/m/0/1/*)#4rdqazhj",...
BIP39: xprv...ypu
- 用 BIP39 助記詞轉換器反查私鑰
下載並開啟 BIP39 轉換器,在 BIP32 Root Key 欄位輸入 xprv 金鑰,於 Derivation Path 選擇正確的地址類型,例如 p2wpkh 要選用 BIP84 (Native Segwit)。
最後在下方的 Derived Addresses 頁籤就能找到 Address、Public Key 與 Private Key。(建議於離線主機進行操作)
用 Electrum 的 Sweep 將私鑰餘額匯入 Electrum
找到比特幣私鑰之後,用 Electrum 的錢包清掃工具將私鑰內的餘額匯入現有的錢包,記得要加上 WIF 格式 (Wallet Import Format) 才能正常匯入,最後在下方的欄位填寫收款地址,即可將原生 Bitcoin core 私鑰內的比特幣清空,匯入到你指定的地址。
錢包 > 私鑰 > 清掃 (Sweep)
p2pkh:KxZcY47uGp9a... -> 1DckmggQM...
p2wpkh-p2sh:KxZcY47uGp9a... -> 3NhNeZQXF...
p2wpkh:KxZcY47uGp9a... -> bc1q3fjf
d(´∀`)b
留言
張貼留言
本站留言採審核發佈, 請耐心等候
圖片消失? 請關閉瀏覽器的擋廣告工具