-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Conversation
User @rahulksnv, please sign the CLA here. |
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.
Looks good, just one minor comment. Thanks!
Please point me how to fix the failing cumulus test (could not find anything in the contributing doc about making a dependent cumulus PR) |
You need to make a cumulus companion, much the same way as you made the polkadot companion |
Upstream PR: paritytech#14014 This reverts commit c9276cb.
You need to merge master to polkadot/cumulus companions |
Done, thanks |
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 👍
Hi @altonen @melekes @dmitry-markin Can you please let me know the next steps here, in terms of getting this merged? Sorry I am not clear about the process, as I am submitting an upstream patch for the first time. Thanks! |
Hi @rahulksnv, please merge master into you PR to resolve the merge conflicts. Than I would wait for @altonen approval, and we can merge the PR. |
@dmitry-markin merged with latest master, thanks |
Could you do the same with companion PRs for tests to pass? |
Re-synced all three repos to the corresponding master. |
Hey, is anyone still working on this? Due to the inactivity this issue has been automatically marked as stale. It will be closed if no further activity occurs. Thank you for your contributions. |
Thanks for the reminder, was on a break, will resync with master and try to wrap this up |
Hey, is anyone still working on this? Due to the inactivity this issue has been automatically marked as stale. It will be closed if no further activity occurs. Thank you for your contributions. |
If a substrate user wants to implement a custom block relay protocol (like Compact Blocks, Graphene, etc), it is not currently possible. This is because the block request handler is tightly coupled with the rest of the stack. This change makes the block request handler modular.
Main changes:
ChainSync
currently calls into the block request handler directly. Instead, move the block request handler behind a trait. This allows new protocols to be plugged into ChainSync.BuildNetworkParams
is changed so that custom relay protocol implementations can be (optionally) passed in during network creation time. If custom protocol is not specified, it defaults to the existing block handlerBlockServer
andBlockDownloader
traits are introduced for the protocol implementation. The existing block handler has been changed to implement these traitsTxHash
serializable. This is needed for exchanging the serialized hash in the relay protocol messagesOpaqueBlockRequest
,OpaqueBlockResponse
)polkadot companion: paritytech/polkadot#7134
cumulus companion: paritytech/cumulus#2489