-
Notifications
You must be signed in to change notification settings - Fork 184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
blockmanager: aggressively pipeline getheaders requests #66
Comments
This may actually be an opportunity to significantly simplify the header fetching code, as what we borrowed from |
Hello, this issue was created 2018. I just want to confirm that the links in the issue redirect to where you want it to |
So the links above don't use permalinks, so def possible that the sections I intended to link to have shifted over time. |
Oh okay I am going through this issue and trying to learn more about it for my SOB proposal. It would make things easier to understand for me if I can get clarity on the particular sections that are being referred to here by the links. |
Re headers:
|
This is a related PR as well: #263 |
Thanks a lot. |
How about redirect for, "We should always fetch headers beyond the last checkpoint"? |
So we actually don't use getblocks anymore. But if we expand the set of checkpoints in |
Currently when fetching block headers, we wait until we finish processing the current batch before we fetch the very next batch. This is inefficient, as it doesn't allow us to keep pipeline and keep the network saturated while we're fetching and verifying headers. Instead, once we receive a batch of headers, we should fetch the very next immediately. It may even be worth breaking fetching and processing out into distinct goroutines. If this is done, then it'll be possibly to nearly fetch the entire set of headers, while we're busy with I/O and header verification.
While we're at it, we should continue always fetch headers beyond the last checkpoint. Much of this sync code was borrowed from
btcd
. In our case however, we don't care about fully validation, only PoW so we can more aggressively pipeline our block fetching, and stop usinggetblocks
all together.The text was updated successfully, but these errors were encountered: