lbryio / lbryio/lbry-sdk

Add checkpoints for spv header downloads

Open
#1,369 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: wallet level: 3 needs: grooming type: improvement
Dominant language
Python
Stars
7.2k
Forks
493
PR merge metrics
No merged PRs in 30d

Description

The goal is to reduce startup time (either the first time the app runs, or after its been closed for a while), especially on mobile.

Instead of downloading all the headers back to block 0, add a checkpoint in the code and only download back to that checkpoint.

Lex pointed out that we'd need older headers to validate older transactions, so this may not be possible or useful for us to do.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Trace the SPV header download path and the logic that validates older transactions, then determine whether a checkpoint can reduce startup downloads without losing required validation; done means the approach is shown to be viable and covered by appropriate tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.