-
Notifications
You must be signed in to change notification settings - Fork 1.2k
backport: merge bitcoin#19776, #20599, #22147, #22340, #20799, #25147, #20764, bitcoin-core/gui#206 (BIP152 backports) #6048
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
Conversation
UdjinM6
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, light ACK
|
This pull request has conflicts, please rebase. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK 1cbf3b9
PastaPastaPasta
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK 1cbf3b9
…r v1 compact blocks)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK 1cbf3b9
Though, these changes - are not breaking changes, should it be excluded from PR description? They require release notes indeed (already done).
The getpeerinfo RPC returns two new boolean fields, bip152_hb_to and bip152_hb_from, that respectively indicate whether we selected a peer to be in compact blocks high-bandwidth mode or whether a peer selected us as a compact blocks high-bandwidth peer.
| test_node.send_and_ping(msg_sendheaders()) | ||
| check_announcement_of_new_block(node, test_node, lambda p: "cmpctblock" in p.last_message) | ||
|
|
||
| # Try one more time, after sending a version-1, announce=false message. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit-20799: missing changes
version=1
Additional Information
Version 2 of BIP152 high-bandwidth mode/compact blocks implements SegWit support.
As Dash does not implement SegWit, there has never been a need to implement v2 (and therefore, have all the code necessary to support both v1 and v2, that gets removed as part of making support v2 only).
bitcoin#19776 doesn't seem to work on its own without successive backports, specifically bitcoin#20799, despite the latter being a later backport.
19776-only p2p_compactblocks.py run (9f2c868947cc254d021e1a9bd00eb7bc80061e81)
20799-incl p2p_compactblocks.py run (aa116c4f0b4753b615f9483aa03adec5ee4fd655)
The backport of bitcoin-core/gui#206 is a continuation of 3e8ba24 from dash#5964
The backport of bitcoin#20764 is a continuation of bd934c7 from dash#6034
Breaking changes
The
getpeerinfoRPC returns two new boolean fields,bip152_hb_toandbip152_hb_from, that respectively indicate whether we selected a peer to be in compact blocks high-bandwidth mode or whether a peer selected us as a compact blocks high-bandwidth peer.High-bandwidth peers send new block announcements via a
cmpctblockmessage rather than the usual inv/headers announcements. See BIP 152 for more details.Blocks-only mode will use legacy relaying instead of BIP152 high-bandwidth mode
Checklist: