• About
  • Privacy Poilicy
  • Disclaimer
  • Contact
CoinInsight
  • Home
  • Bitcoin
  • Ethereum
  • Regulation
  • Market
  • Blockchain
  • Ripple
  • Future of Crypto
  • Crypto Mining
No Result
View All Result
  • Home
  • Bitcoin
  • Ethereum
  • Regulation
  • Market
  • Blockchain
  • Ripple
  • Future of Crypto
  • Crypto Mining
No Result
View All Result
CoinInsight
No Result
View All Result
Home Bitcoin

bitcoin cli – Unable to generate tackle after importing Taproot multisig descriptor

Coininsight by Coininsight
February 11, 2025
in Bitcoin
0
bitcoin cli – Unable to generate tackle after importing Taproot multisig descriptor
189
SHARES
1.5k
VIEWS
Share on FacebookShare on Twitter


I’ve 3 wallets that I exploit to create a Taproot multisig pockets. All my work relies on this https://github.com/bitcoin/bitcoin/blob/grasp/doc/multisig-tutorial.md. Listed here are the exterior and inside xpubs for each:

Pockets 1 (exterior + inside xpubs)

[11776e3b/86h/1h/0h]tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/0/*
[11776e3b/86h/1h/0h]tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/1/*

Pockets 2 (exterior + inside xpubs)

[fe5187e5/86h/1h/0h]tpubDCqr5GVKeptzMG5QKLu1aQKXFXgF6kMy9dYDQ6Nap6emZ3iziMCeVX1pPjEzA7nTmyZS9NP2KjUsGtEs8jNqFcUTpKxAwXPB3yfbee4RthM/0/*
[fe5187e5/86h/1h/0h]tpubDCqr5GVKeptzMG5QKLu1aQKXFXgF6kMy9dYDQ6Nap6emZ3iziMCeVX1pPjEzA7nTmyZS9NP2KjUsGtEs8jNqFcUTpKxAwXPB3yfbee4RthM/1/*

Pockets 3 (exterior + inside xpubs)

[9f5cbc68/86h/1h/0h]tpubDDQbi15GQjXYxhAysxdEC6VsSFacJ6hgDAJ7oQy4wUs9sfwMQWtcLqLx7GUbBfWyVwUYMEEJtWmxFXmpmjQL8X4cRdgAJ7BcaazuCYq4iCp/0/*
[9f5cbc68/86h/1h/0h]tpubDDQbi15GQjXYxhAysxdEC6VsSFacJ6hgDAJ7oQy4wUs9sfwMQWtcLqLx7GUbBfWyVwUYMEEJtWmxFXmpmjQL8X4cRdgAJ7BcaazuCYq4iCp/1/*

Right here is my descriptor:

external_desc="tr(tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/1/*,sortedmulti_a(2,tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/0/*,tpubDCqr5GVKeptzMG5QKLu1aQKXFXgF6kMy9dYDQ6Nap6emZ3iziMCeVX1pPjEzA7nTmyZS9NP2KjUsGtEs8jNqFcUTpKxAwXPB3yfbee4RthM/0/*,tpubDDQbi15GQjXYxhAysxdEC6VsSFacJ6hgDAJ7oQy4wUs9sfwMQWtcLqLx7GUbBfWyVwUYMEEJtWmxFXmpmjQL8X4cRdgAJ7BcaazuCYq4iCp/0/*))#546p4cqh"

For the primary argument of tr I exploit the interior xpub of pockets 1, and I exploit sortedmulti_a to configure my 2-3 utilizing the exterior ones. The I name the getdescriptorinfo command:

 ./construct/src/bitcoin-cli -signet getdescriptorinfo $external_desc
{
  "descriptor": "tr(tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/1/*,sortedmulti_a(2,tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/0/*,tpubDCqr5GVKeptzMG5QKLu1aQKXFXgF6kMy9dYDQ6Nap6emZ3iziMCeVX1pPjEzA7nTmyZS9NP2KjUsGtEs8jNqFcUTpKxAwXPB3yfbee4RthM/0/*,tpubDDQbi15GQjXYxhAysxdEC6VsSFacJ6hgDAJ7oQy4wUs9sfwMQWtcLqLx7GUbBfWyVwUYMEEJtWmxFXmpmjQL8X4cRdgAJ7BcaazuCYq4iCp/0/*))#546p4cqh",
  "checksum": "546p4cqh",
  "isrange": true,
  "issolvable": true,
  "hasprivatekeys": false
}

And I exploit that descriptor to construct the descriptor JSON used to import it into my pockets.
That is what I used to create the json:

external_desc_sum=$(./construct/src/bitcoin-cli -signet getdescriptorinfo $external_desc | jq '.descriptor')
multisig_ext_desc="[{"desc": $external_desc_sum, "timestamp": "now"}]"

After that, I name the importdescriptors technique on a brand new clean pockets:

./construct/src/bitcoin-cli -signet -named createwallet wallet_name="multi_tr" disable_private_keys=true clean=true
./construct/src/bitcoin-cli -signet -rpcwallet="multi_tr" importdescriptors "$multisig_ext_desc"
./construct/src/bitcoin-cli -signet -rpcwallet="multi_tr" getwalletinfo

The response of the import descriptors is:

{
  "title": "multi_tr"
}
[
  {
    "success": true,
    "warnings": [
      "Range not given, using default keypool range"
    ]
  }
]

And the output of get pockets information is:

{
  "walletname": "multi_tr",
  "walletversion": 169900,
  "format": "sqlite",
  "stability": 0.00000000,
  "unconfirmed_balance": 0.00000000,
  "immature_balance": 0.00000000,
  "txcount": 0,
  "keypoolsize": 0,
  "keypoolsize_hd_internal": 0,
  "paytxfee": 0.00000000,
  "private_keys_enabled": false,
  "avoid_reuse": false,
  "scanning": false,
  "descriptors": true,
  "external_signer": false,
  "clean": true,
  "birthtime": 1739107662,
  "lastprocessedblock": {
    "hash": "0000005ba71046c3e13011955cf5a65c09fc7e945030a3d623dbfef8e7b3dce6",
    "peak": 234655
  }
}

After seeing this output I used to be excited and I wished to generate a brand new tackle to funds my multisig pockets, however I received an error:

./construct/src/bitcoin-cli  -signet -rpcwallet="multi_tr" getnewaddress
error code: -4
error message:
Error: This pockets has no accessible keys

After on the lookout for alternate options, I discovered that the deriveaddresses technique works for my use case and I used to be capable of retrieve some addresses:

./construct/src/bitcoin-cli  -signet deriveaddresses "tr(tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/1/*,sortedmulti_a(2,tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/0/*,tpubDCqr5GVKeptzMG5QKLu1aQKXFXgF6kMy9dYDQ6Nap6emZ3iziMCeVX1pPjEzA7nTmyZS9NP2KjUsGtEs8jNqFcUTpKxAwXPB3yfbee4RthM/0/*,tpubDDQbi15GQjXYxhAysxdEC6VsSFacJ6hgDAJ7oQy4wUs9sfwMQWtcLqLx7GUbBfWyVwUYMEEJtWmxFXmpmjQL8X4cRdgAJ7BcaazuCYq4iCp/0/*))#546p4cqh" "[0,2]"
[
  "tb1pg0p5p2vfqn3stjrrz0ga33m4wudcxmsl4qsuv4csnq5lxfnws3zss5xcvh",
  "tb1p4z6n9hlt2rs9arlaxwkcgpp79803rmle6wty946zwce74u4wnmas4r8etx",
  "tb1pk3nj9xt2aempeys63etmw3zfkj8pya0sr2lcl2spf6xqtjev8zfqkfzg5p"
]

my questions are:

  • Why the primary technique to generatenewaddress isn’t working?
  • Is the deriveaddresses technique advisable for common use? In that case, I feel I might want to save the used vary to generate new addresses each time (as a result of utilizing the identical vary twice generates the identical addresses). So if I exploit the vary [0,0], the subsequent time I might want to use [1,1] and so forth.

Thanks

Related articles

JPMorgan Confirms Bitcoin Buying and selling, Sends Merchants Rallying for High Altcoins like Bitcoin Hyper

JPMorgan Confirms Bitcoin Buying and selling, Sends Merchants Rallying for High Altcoins like Bitcoin Hyper

October 14, 2025
After $234M Hack, WazirX Will get Courtroom Approval For Main Rebuild

After $234M Hack, WazirX Will get Courtroom Approval For Main Rebuild

October 13, 2025


I’ve 3 wallets that I exploit to create a Taproot multisig pockets. All my work relies on this https://github.com/bitcoin/bitcoin/blob/grasp/doc/multisig-tutorial.md. Listed here are the exterior and inside xpubs for each:

Pockets 1 (exterior + inside xpubs)

[11776e3b/86h/1h/0h]tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/0/*
[11776e3b/86h/1h/0h]tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/1/*

Pockets 2 (exterior + inside xpubs)

[fe5187e5/86h/1h/0h]tpubDCqr5GVKeptzMG5QKLu1aQKXFXgF6kMy9dYDQ6Nap6emZ3iziMCeVX1pPjEzA7nTmyZS9NP2KjUsGtEs8jNqFcUTpKxAwXPB3yfbee4RthM/0/*
[fe5187e5/86h/1h/0h]tpubDCqr5GVKeptzMG5QKLu1aQKXFXgF6kMy9dYDQ6Nap6emZ3iziMCeVX1pPjEzA7nTmyZS9NP2KjUsGtEs8jNqFcUTpKxAwXPB3yfbee4RthM/1/*

Pockets 3 (exterior + inside xpubs)

[9f5cbc68/86h/1h/0h]tpubDDQbi15GQjXYxhAysxdEC6VsSFacJ6hgDAJ7oQy4wUs9sfwMQWtcLqLx7GUbBfWyVwUYMEEJtWmxFXmpmjQL8X4cRdgAJ7BcaazuCYq4iCp/0/*
[9f5cbc68/86h/1h/0h]tpubDDQbi15GQjXYxhAysxdEC6VsSFacJ6hgDAJ7oQy4wUs9sfwMQWtcLqLx7GUbBfWyVwUYMEEJtWmxFXmpmjQL8X4cRdgAJ7BcaazuCYq4iCp/1/*

Right here is my descriptor:

external_desc="tr(tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/1/*,sortedmulti_a(2,tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/0/*,tpubDCqr5GVKeptzMG5QKLu1aQKXFXgF6kMy9dYDQ6Nap6emZ3iziMCeVX1pPjEzA7nTmyZS9NP2KjUsGtEs8jNqFcUTpKxAwXPB3yfbee4RthM/0/*,tpubDDQbi15GQjXYxhAysxdEC6VsSFacJ6hgDAJ7oQy4wUs9sfwMQWtcLqLx7GUbBfWyVwUYMEEJtWmxFXmpmjQL8X4cRdgAJ7BcaazuCYq4iCp/0/*))#546p4cqh"

For the primary argument of tr I exploit the interior xpub of pockets 1, and I exploit sortedmulti_a to configure my 2-3 utilizing the exterior ones. The I name the getdescriptorinfo command:

 ./construct/src/bitcoin-cli -signet getdescriptorinfo $external_desc
{
  "descriptor": "tr(tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/1/*,sortedmulti_a(2,tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/0/*,tpubDCqr5GVKeptzMG5QKLu1aQKXFXgF6kMy9dYDQ6Nap6emZ3iziMCeVX1pPjEzA7nTmyZS9NP2KjUsGtEs8jNqFcUTpKxAwXPB3yfbee4RthM/0/*,tpubDDQbi15GQjXYxhAysxdEC6VsSFacJ6hgDAJ7oQy4wUs9sfwMQWtcLqLx7GUbBfWyVwUYMEEJtWmxFXmpmjQL8X4cRdgAJ7BcaazuCYq4iCp/0/*))#546p4cqh",
  "checksum": "546p4cqh",
  "isrange": true,
  "issolvable": true,
  "hasprivatekeys": false
}

And I exploit that descriptor to construct the descriptor JSON used to import it into my pockets.
That is what I used to create the json:

external_desc_sum=$(./construct/src/bitcoin-cli -signet getdescriptorinfo $external_desc | jq '.descriptor')
multisig_ext_desc="[{"desc": $external_desc_sum, "timestamp": "now"}]"

After that, I name the importdescriptors technique on a brand new clean pockets:

./construct/src/bitcoin-cli -signet -named createwallet wallet_name="multi_tr" disable_private_keys=true clean=true
./construct/src/bitcoin-cli -signet -rpcwallet="multi_tr" importdescriptors "$multisig_ext_desc"
./construct/src/bitcoin-cli -signet -rpcwallet="multi_tr" getwalletinfo

The response of the import descriptors is:

{
  "title": "multi_tr"
}
[
  {
    "success": true,
    "warnings": [
      "Range not given, using default keypool range"
    ]
  }
]

And the output of get pockets information is:

{
  "walletname": "multi_tr",
  "walletversion": 169900,
  "format": "sqlite",
  "stability": 0.00000000,
  "unconfirmed_balance": 0.00000000,
  "immature_balance": 0.00000000,
  "txcount": 0,
  "keypoolsize": 0,
  "keypoolsize_hd_internal": 0,
  "paytxfee": 0.00000000,
  "private_keys_enabled": false,
  "avoid_reuse": false,
  "scanning": false,
  "descriptors": true,
  "external_signer": false,
  "clean": true,
  "birthtime": 1739107662,
  "lastprocessedblock": {
    "hash": "0000005ba71046c3e13011955cf5a65c09fc7e945030a3d623dbfef8e7b3dce6",
    "peak": 234655
  }
}

After seeing this output I used to be excited and I wished to generate a brand new tackle to funds my multisig pockets, however I received an error:

./construct/src/bitcoin-cli  -signet -rpcwallet="multi_tr" getnewaddress
error code: -4
error message:
Error: This pockets has no accessible keys

After on the lookout for alternate options, I discovered that the deriveaddresses technique works for my use case and I used to be capable of retrieve some addresses:

./construct/src/bitcoin-cli  -signet deriveaddresses "tr(tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/1/*,sortedmulti_a(2,tpubDCTp9moNmiVHK9KS6j6HEyU9duvomZrE87wTNQMkcZktDu89f3yJFATEQovpsT8KwUDWhut5YYd3zNsUYuv6sGHLozsub1AHPoyL7uGW2LT/0/*,tpubDCqr5GVKeptzMG5QKLu1aQKXFXgF6kMy9dYDQ6Nap6emZ3iziMCeVX1pPjEzA7nTmyZS9NP2KjUsGtEs8jNqFcUTpKxAwXPB3yfbee4RthM/0/*,tpubDDQbi15GQjXYxhAysxdEC6VsSFacJ6hgDAJ7oQy4wUs9sfwMQWtcLqLx7GUbBfWyVwUYMEEJtWmxFXmpmjQL8X4cRdgAJ7BcaazuCYq4iCp/0/*))#546p4cqh" "[0,2]"
[
  "tb1pg0p5p2vfqn3stjrrz0ga33m4wudcxmsl4qsuv4csnq5lxfnws3zss5xcvh",
  "tb1p4z6n9hlt2rs9arlaxwkcgpp79803rmle6wty946zwce74u4wnmas4r8etx",
  "tb1pk3nj9xt2aempeys63etmw3zfkj8pya0sr2lcl2spf6xqtjev8zfqkfzg5p"
]

my questions are:

  • Why the primary technique to generatenewaddress isn’t working?
  • Is the deriveaddresses technique advisable for common use? In that case, I feel I might want to save the used vary to generate new addresses each time (as a result of utilizing the identical vary twice generates the identical addresses). So if I exploit the vary [0,0], the subsequent time I might want to use [1,1] and so forth.

Thanks

Tags: addressBitcoinclidescriptorgenerateimportingmultisigTaprootUnable
Share76Tweet47

Related Posts

JPMorgan Confirms Bitcoin Buying and selling, Sends Merchants Rallying for High Altcoins like Bitcoin Hyper

JPMorgan Confirms Bitcoin Buying and selling, Sends Merchants Rallying for High Altcoins like Bitcoin Hyper

by Coininsight
October 14, 2025
0

Trusted Editorial content material, reviewed by main trade specialists and seasoned editors. Advert Disclosure Fast Details: 1️⃣ JPMorgan’s International Head...

After $234M Hack, WazirX Will get Courtroom Approval For Main Rebuild

After $234M Hack, WazirX Will get Courtroom Approval For Main Rebuild

by Coininsight
October 13, 2025
0

They are saying journalists by no means actually clock out. However for Christian, that is not only a metaphor, it...

The ‘Technique Of Latin America’ OranjeBTC Expands Holdings With $1.94M Bitcoin Buy

The ‘Technique Of Latin America’ OranjeBTC Expands Holdings With $1.94M Bitcoin Buy

by Coininsight
October 13, 2025
0

OranjeBTC has acquired an extra 16 BTC for roughly $1.94 million at a mean value of $121,058 per Bitcoin, bringing...

Tapbit Delivers a Robust Presence at TOKEN2049 Singapore

Tapbit Delivers a Robust Presence at TOKEN2049 Singapore

by Coininsight
October 13, 2025
0

Singapore, Singapore, October thirteenth, 2025, ChainwireThe world-renowned blockchain occasion, TOKEN2049 Singapore, efficiently concluded on the Marina Bay Sands Expo and...

Establishments To Double Digital Asset Publicity By 2028

Establishments To Double Digital Asset Publicity By 2028

by Coininsight
October 12, 2025
0

Be a part of Our Telegram channel to remain updated on breaking information protection Institutional buyers are set to greater...

Load More
  • Trending
  • Comments
  • Latest
MetaMask Launches An NFT Reward Program – Right here’s Extra Data..

MetaMask Launches An NFT Reward Program – Right here’s Extra Data..

July 24, 2025
BitHub 77-Bit token airdrop information

BitHub 77-Bit token airdrop information

February 6, 2025
Haedal token airdrop information

Haedal token airdrop information

April 24, 2025
MilkyWay ($milkTIA, $MILK) Token Airdrop Information

MilkyWay ($milkTIA, $MILK) Token Airdrop Information

March 4, 2025
Kuwait bans Bitcoin mining over power issues and authorized violations

Kuwait bans Bitcoin mining over power issues and authorized violations

2
The Ethereum Basis’s Imaginative and prescient | Ethereum Basis Weblog

The Ethereum Basis’s Imaginative and prescient | Ethereum Basis Weblog

2
Unchained Launches Multi-Million Greenback Bitcoin Legacy Mission

Unchained Launches Multi-Million Greenback Bitcoin Legacy Mission

1
Earnings Preview: Microsoft anticipated to report larger Q3 income, revenue

Earnings Preview: Microsoft anticipated to report larger Q3 income, revenue

1
JPMorgan Confirms Bitcoin Buying and selling, Sends Merchants Rallying for High Altcoins like Bitcoin Hyper

JPMorgan Confirms Bitcoin Buying and selling, Sends Merchants Rallying for High Altcoins like Bitcoin Hyper

October 14, 2025
Ukraine: Approval of Defence Metropolis regime for arms producers together with tax and customs incentives

Ukraine: Approval of Defence Metropolis regime for arms producers together with tax and customs incentives

October 14, 2025
BNB Value Soars 17% As Binance Compensates Customers

BNB Value Soars 17% As Binance Compensates Customers

October 14, 2025
Ripple Vs. SWIFT Battle Heats Up With ‘Fax Machine Vs. Web’ Remark Fanning The Flames

Ripple Vs. SWIFT Battle Heats Up With ‘Fax Machine Vs. Web’ Remark Fanning The Flames

October 14, 2025

CoinInight

Welcome to CoinInsight.co.uk – your trusted source for all things cryptocurrency! We are passionate about educating and informing our audience on the rapidly evolving world of digital assets, blockchain technology, and the future of finance.

Categories

  • Bitcoin
  • Blockchain
  • Crypto Mining
  • Ethereum
  • Future of Crypto
  • Market
  • Regulation
  • Ripple

Recent News

JPMorgan Confirms Bitcoin Buying and selling, Sends Merchants Rallying for High Altcoins like Bitcoin Hyper

JPMorgan Confirms Bitcoin Buying and selling, Sends Merchants Rallying for High Altcoins like Bitcoin Hyper

October 14, 2025
Ukraine: Approval of Defence Metropolis regime for arms producers together with tax and customs incentives

Ukraine: Approval of Defence Metropolis regime for arms producers together with tax and customs incentives

October 14, 2025
  • About
  • Privacy Poilicy
  • Disclaimer
  • Contact

© 2025- https://coininsight.co.uk/ - All Rights Reserved

No Result
View All Result
  • Home
  • Bitcoin
  • Ethereum
  • Regulation
  • Market
  • Blockchain
  • Ripple
  • Future of Crypto
  • Crypto Mining

© 2025- https://coininsight.co.uk/ - All Rights Reserved

Social Media Auto Publish Powered By : XYZScripts.com
Verified by MonsterInsights