btcsuite / btcwallet

A secure bitcoin wallet daemon written in Go (golang)
ISC License
1.15k stars 590 forks source link

Improvements for the chain package and the especially the pruned block fetcher. #904

Open ziggie1984 opened 10 months ago

ziggie1984 commented 10 months ago
  1. The PrunedBlockDispatcher should be improved by using the getBlockFromPeer rpc call for new bitcoind versions (>=23 iirc).

  2. Improve TestCoverage in general but especially for GetBlock.

  3. Potentially move the blockcache currently residing in the LND package to the btcwallet package because the block fetching happens here too (still to be discussed).

  4. Remove peers used for pruned block fetching when their connectivity (ping time) deteriorates over time. Ties to https://github.com/lightninglabs/neutrino/issues/292, which includes the implementation of a better worker-selection algorithm by taking the latency of peers into account, consequently removing them if the are becoming too bad.

ziggie1984 commented 8 months ago

This new design should be considered when refactoring the neutriono manager (when merged until then): https://github.com/lightningnetwork/lnd/pull/8234