decred / dcrwallet

A secure Decred wallet daemon written in Go (golang).
https://decred.org
ISC License
212 stars 153 forks source link

spv: Add batched cfilter fetching #2314

Closed matheusd closed 1 month ago

matheusd commented 7 months ago

Requires https://github.com/decred/dcrd/pull/3211

Part of #2289

Draft for the time being, until the upstream requirement is merged, but should be close to the final format.

When the remote peer supports batched cfilter fetching, use that. This allows mixing both peers that support with peers that do not support batched fetching when downloading cfilters, making this useful even while the network is not fully updated.

spv connect with known remote fast node
[DBG] SYNC: Initial sync completed in 3m5s 
jrick commented 1 month ago

This looks good, but I want to commit the mixing integration first (mixing is protocol version 10, this is 11, it would strange/incorrect to commit these out of order)

...even though dcrd did just that :/

jrick commented 1 month ago

This can be rebased now. The conflicts don't look bad at all.