initial support for kernel data download #2765
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Extracted "kernel download" from #2743 without all the code attempting to rebuild the MMR on the receiving end.
We cannot (yet) bump the protocol version number without splitting the network (see #2764 for a fix).
So this is untouched in this PR.
If/when this is released we will have some nodes on the network that are able to provide a "kernel data" download.
We won't do anything with this just yet, but we can verify we can download it and parse the kernels out of the data.
Your node will get banned if you attempt to request a kernel data download from a peer that does not yet support this msg type. (So be careful using the
/kerneldownload
test api endpoint).Proposal: Get this merged in prior to
1.1.0
being released. This way we can ideally have a healthy number of peers that support the kernel data download msg type.Once
1.1.0
is released we can bump the protocol version if deemed necessary (#2764 adds support for flexible protocol versioning and peering).If we can be reasonably confident most nodes support kernel data downloads then we can make progress of beginning to leverage this as part of fast sync (separate PR).