This issue will be edited frequently to reflect the current status of the project.
What should I review now?
👇 👇 👇 👇 – #27837 – ☝️ ☝️ ☝️ ☝️
The goal of this project is to enable complete blockchain rescan capability on prune nodes, allowing these storage-limited nodes to import new wallet descriptors and update existing ones at any time, as well as loading external and un-synced wallets with a birth-time older than 48 hours. This, in turn, enables the monitoring of new addresses/scripts and tracking balance changes without the need to repeatedly download the entire blockchain.
The first project milestone introduces the feature for prune nodes that construct and maintain a local block filters set database. The node will request and keep track of the missing historical blocks that match the wallet scripts filters set to subsequently perform the rescan.
The following sections are ordered by their PRs dependencies:
Net: Single Block Requests Tracking System and On Download Failure Retry Mechanism
Indexes Stability and Performance Improvements
Wallet Rescan (depends on the net section)
- #27469
- Cache wallet filters’ set and connect it to the current wallet rescan functionality. (Pending)
- Wallet: implement “rescan status” class to track the progress and retrieve it via an RPC command. (Pending)
- Wallet: introduce prune node rescan functionality. (Pending - depends on net changes)