Skip to content

No way to rescan cached filters, without retrieving them again #156

@optout21

Description

@optout21

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions