diff options
author | Andrew Chow <achow101-github@achow101.com> | 2022-08-11 15:59:01 -0400 |
---|---|---|
committer | Andrew Chow <github@achow101.com> | 2022-08-29 17:30:38 -0400 |
commit | 53e7ed075c49f853cc845afc7b2f058cabad0cb0 (patch) | |
tree | f11a23ef2dcb7cc531ba47993ba61f00999cc8f1 /doc/managing-wallets.md | |
parent | 9c44bfe244f35f08ba576d8b979a90dcd68d2c77 (diff) |
doc: Release notes and other docs for migration
Diffstat (limited to 'doc/managing-wallets.md')
-rw-r--r-- | doc/managing-wallets.md | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/doc/managing-wallets.md b/doc/managing-wallets.md index 6c1e13c503..366d7ec54b 100644 --- a/doc/managing-wallets.md +++ b/doc/managing-wallets.md @@ -120,4 +120,29 @@ After that, `getwalletinfo` can be used to check if the wallet has been fully re $ bitcoin-cli -rpcwallet="restored-wallet" getwalletinfo ``` -The restored wallet can also be loaded in the GUI via `File` ->`Open wallet`.
\ No newline at end of file +The restored wallet can also be loaded in the GUI via `File` ->`Open wallet`. + +## Migrating Legacy Wallets to Descriptor Wallets + +Legacy wallets (traditional non-descriptor wallets) can be migrated to become Descriptor wallets +through the use of the `migratewallet` RPC. Migrated wallets will have all of their addresses and private keys added to +a newly created Descriptor wallet that has the same name as the original wallet. Because Descriptor +wallets do not support having private keys and watch-only scripts, there may be up to two +additional wallets created after migration. In addition to a descriptor wallet of the same name, +there may also be a wallet named `<name>_watchonly` and `<name>_solvables`. `<name>_watchonly` +contains all of the watchonly scripts. `<name>_solvables` contains any scripts which the wallet +knows but is not watching the corresponding P2(W)SH scripts. + +Migrated wallets will also generate new addresses differently. While the same BIP 32 seed will be +used, the BIP 44, 49, 84, and 86 standard derivation paths will be used. After migrating, a new +backup of the wallet(s) will need to be created. + +Given that there is an extremely large number of possible configurations for the scripts that +Legacy wallets can know about, be watching for, and be able to sign for, `migratewallet` only +makes a best effort attempt to capture all of these things into Descriptor wallets. There may be +unforeseen configurations which result in some scripts being excluded. If a migration fails +unexpectedly or otherwise misses any scripts, please create an issue on GitHub. A backup of the +original wallet can be found in the wallet directory with the name `<name>-<timestamp>.legacy.bak`. + +The backup can be restored using the `restorewallet` command as discussed in the +[Restoring the Wallet From a Backup](#16-restoring-the-wallet-from-a-backup) section |