Saturday, July 6, 2024

The right way to use a watch-only pockets in bitcoin-core?

In case you’re utilizing Bitcoin Core 23.0, and created a brand new pockets utilizing that, it’s by default a descriptor pockets. These are a brand new era of wallets which use Output Descriptors to find out which keys/scripts/addresses “belong” to the pockets, versus legacy wallets which use a a lot much less well-defined course of to find out this.

A number of RPCs, just like the importaddress, importpubkey, and importmulti are disabled for descriptor wallets, for the straightforward purpose that the conduct they’ve for legacy wallets can’t be precisely replicated for descriptor wallets. It is a good factor – it was extraordinarily sophisticated to purpose about what that conduct is.

If you wish to import one thing right into a descriptor pockets, you want the importdescriptors RPC as a substitute. This single RPC subsumes the performance of
all legacy import instructions in a single RPC, by utilizing the Output Descriptor language to specify what to import. That features the power to import single addresses (utilizing addr([ADDR]) descriptors), or ranges of HD key-derived scripts (e.g. wpkh([XPUB]/0/1/2/*) would import all P2WPKH addresses derived from xpub [XPUB], with derivation path m/0/1/2/0, m/0/1/2/1, m/0/1/2/2, …).

The documentation on developer.bitcoin.org appears outdated. The Bitcoin Core 23.0 RPC documentation (accessible by the assist RPC command) does say:

Notice: This command is simply appropriate with legacy wallets. Use “importdescriptors” with “addr(X)” for descriptor wallets.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles