aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorAndrew Chow <achow101-github@achow101.com>2022-08-11 15:59:01 -0400
committerAndrew Chow <github@achow101.com>2022-08-29 17:30:38 -0400
commit53e7ed075c49f853cc845afc7b2f058cabad0cb0 (patch)
treef11a23ef2dcb7cc531ba47993ba61f00999cc8f1 /doc
parent9c44bfe244f35f08ba576d8b979a90dcd68d2c77 (diff)
downloadbitcoin-53e7ed075c49f853cc845afc7b2f058cabad0cb0.tar.xz
doc: Release notes and other docs for migration
Diffstat (limited to 'doc')
-rw-r--r--doc/managing-wallets.md27
-rw-r--r--doc/release-notes-19602.md9
2 files changed, 35 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
diff --git a/doc/release-notes-19602.md b/doc/release-notes-19602.md
new file mode 100644
index 0000000000..61d6aa8ca9
--- /dev/null
+++ b/doc/release-notes-19602.md
@@ -0,0 +1,9 @@
+Wallet
+======
+
+Migrating Legacy Wallets to Descriptor Wallets
+---------------------------------------------
+
+An experimental RPC `migratewallet` has been added to migrate Legacy (non-descriptor) wallets to
+Descriptor wallets. More information about the migration process is available in the
+[documentation](https://github.com/bitcoin/bitcoin/blob/master/doc/managing-wallets.md#migrating-legacy-wallets-to-descriptor-wallets).