比特币核心(Bitcoin core)描述符钱包(Descriptor Wallet)私钥备份与恢复
Bitcoin core 是比特币最权威的全节点钱包,使用此钱包必须下载比特币所有区块数据
描述符钱包与HD种子钱包不同的是,描述符钱包不能为每一个地址导出私钥,只能导出一个描述符私钥,通过私钥再派生更多BTC收款地址。
Bitcoin core 下载地址: https://bitcoin.org/en/wallets/desktop/mac/bitcoincore/ 我下载的版本是25.0
1、新建描述符钱包
新版的Bitcoin core 默认新建的就是描述符钱包,打开 Bitcoin core,点击文件->创建钱包->Wallet name (输入钱包名字)->勾选Descriptor Wallet -> 点击Create 创建
2、导出描述符私钥
点击文件菜单->控制台
输入 listdescriptors true 命令,注意必须输入true参数,不然导出的描述符只能生成地址,不能转账,只能生成收款地址
此命令会输出4组描述符私钥,每组两个(我一般只用第一个)
4组开头分别是
描述符pkh() 创建为1开头BTC原生地址
描述符sh() 创建为3开头的地址
描述符tr()创建为bc1p开头的62位地址
描述符wpkh()创建为bc1q开头的42隔离见证地址
备份打印或手抄只需记录其中1组或全部,如:
pkh(xprv9s21ZrQH143K43hBNzjp41GRZqWH3ZvwXz7W4xpQGQGAnJqf8Q5sg4fXsQgiDcRh4G49iVcRD9ZeAcqKf4bwDTfja54WdNkTybfePZHhkka/44'/0'/0'/0/*)#jlucd5fz
这一段就可以了
查看此描述符的派生地址命令
deriveaddresses "pkh(xprv9s21ZrQH143K43hBNzjp41GRZqWH3ZvwXz7W4xpQGQGAnJqf8Q5sg4fXsQgiDcRh4G49iVcRD9ZeAcqKf4bwDTfja54WdNkTybfePZHhkka/44'/0'/0'/0/*)#jlucd5fz" "[0,10]"
列出的地址可以用于收款
3、通过刚刚备份的描述符私钥恢复到钱包
首先新建一个空白钱包, 打开 Bitcoin core,点击文件->创建钱包->Wallet name (输入钱包名字)->勾选Descriptor Wallet 和 Make Blank Wallet(空钱包)-> 点击Create 创建
通过描述符恢复命令
importdescriptors "[{\"desc\":\"pkh(xprv9s21ZrQH143K43hBNzjp41GRZqWH3ZvwXz7W4xpQGQGAnJqf8Q5sg4fXsQgiDcRh4G49iVcRD9ZeAcqKf4bwDTfja54WdNkTybfePZHhkka/44'/0'/0'/0/*)#jlucd5fz\",\"timestamp\":\"now\",\"active\":true, \"range\": [0,999]}]"
返回 success: true,表示成功
然后就可以通过getnewaddress生成新的收款地址
getnewaddress "" "legacy"
其它生成收款地址的命令:
getnewaddress "" "bech32"
bc1q 42位地址: bc1qd78d7va74075snmedxp54e4pntyp6yrj50phs0
getnewaddress "" "bech32m"
bc1p 62位地址: bc1pxckvsl6flqwxdan5zm5lste79xv2cluy7hcy2jyrt37v0sgerdmsc5sjyp
getnewaddress "" "legacy"
1开头地址: 1743DqPvzdEC57rGCEXdK4UQBt325vYL8Y
getnewaddress "" "p2sh-segwit"
3开头地址: 38KqPTHgDV4pcipVBQLgb9LPL3m2At7ycp
如果在离线电脑创建钱包,并用纸或U盘保存,就是离线冷钱包