Bitcoin-Core

如何使用 bitcoin-cli 進行主根交易?

  • August 20, 2021

您能否給出一個簡單的分步範例,用於在 Testnet 上使用 bitcoin-cli 進行主根交易?

我執行創建 P2TR 輸出的事務的步驟:

  1. 從BIP 86中提到的測試向量中複製 XPUB
xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ
  1. 使用比特幣擴展公鑰轉換器將 XPUB(主網)轉換為 TPUB(測試網)
tpubDC3pD7UZXnsgh3EBjbtBQiB1FnLask7UHBSunZ1DPK4dCFFZoFRkgxHB8gt42FvLzx1DpxfHWxAsYaY6b643RVcGjDxXxns7wKKYnnfEcbB
  1. 創建一個禁用私鑰的空白描述符錢包:
bitcoin-cli -named createwallet wallet_name=taproot_wallet blank=true disable_private_keys=true descriptors=true
  1. 將描述符資訊保存在我們從步驟 2 (descriptor.txt) 獲得的 TPUB 的文本文件中:
[
 {
   "desc": "tr([8868ab13/86'/1'/0']tpubDC3pD7UZXnsgh3EBjbtBQiB1FnLask7UHBSunZ1DPK4dCFFZoFRkgxHB8gt42FvLzx1DpxfHWxAsYaY6b643RVcGjDxXxns7wKKYnnfEcbB/0/*)#06sjusfa",
   "timestamp": "now",
   "active": true,
   "internal": false,
   "range": [
     0,
     999
   ],
   "next": 0
 }
]

我已經從listdescriptors輸出中複製了這種格式,用於啟用了私鑰的新描述符錢包。

  1. 將此描述符導入我們在步驟 3 中創建的錢包中:
bitcoin-cli -rpcwallet=taproot_wallet importdescriptors "$(cat descriptor.txt)"
  1. 這是一個帶有主根描述符 TPUB 的僅限手錶的錢包,可用於創建新的 bech32m 地址:
bitcoin-cli -rpcwallet=taproot_wallet getnewaddress "" "bech32m"
tb1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqp3mvzv
  1. 從另一個錢包發送一些比特幣:

<https://blockstream.info/testnet/tx/2035ead4a9d0c8e2da1184924abc9034d26f2a7093371183ef12891623b235d1>

我在PR #2260中使用 Sjors Provoost 使用的分支編譯了 bitcoind

引用自:https://bitcoin.stackexchange.com/questions/108006