Preamble: It's possible that there is a way just I could not find it, or there is some fundamental reason why this is not possible.
I could not use nakamoto in a way, that when blocks and filters are already downloaded and cached, it re-verifies the filters, without downloading them again.
Use cases:
- Restart client after some time, and reevaluate/reload loaded client (rescan for transactions)
- Having a client with cached data, load and scan another wallet, without re-downloading all the filters.
I observed the following phases, when starting the client:
- loading: blocks (and filters?) are read from disk
- filter retrieval is initiated, from the beginning or the provided hint block height, even if they were previously downloaded
- filters are checked.
Re-downloading the filters can takes some time (10-20 minutes).
In the code, I found these relevant parts:
- client Handle
rescan() (handle.rs)
- Filter Manager
rescan() (cbfmgs.rs), calls into
- Filter Manager
get_cfilters() (cbfmgs.rs).
I suggest to expose the functionality of re-scanning cached filters.
Any comments appreciated.
Preamble: It's possible that there is a way just I could not find it, or there is some fundamental reason why this is not possible.
I could not use
nakamotoin a way, that when blocks and filters are already downloaded and cached, it re-verifies the filters, without downloading them again.Use cases:
I observed the following phases, when starting the client:
Re-downloading the filters can takes some time (10-20 minutes).
In the code, I found these relevant parts:
rescan()(handle.rs)rescan()(cbfmgs.rs), calls intoget_cfilters()(cbfmgs.rs).I suggest to expose the functionality of re-scanning cached filters.
Any comments appreciated.