mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 19:51:05 +00:00
Network Bridge Refactoring (#1535)
* rename protocol ID to network capability * guide: `ProtocolId` -> `NetworkCapability` * guide: remove `RegisterEventProducer` * capabilities and expand on underlying network assumptions * guide: create network.md types file * guide: network bridge is aware of network messages * revert changes in code * Update roadmap/implementers-guide/src/SUMMARY.md Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com> * remove references to NetworkCapability * Update roadmap/implementers-guide/src/types/network.md Co-authored-by: Sergei Shulepov <sergei@parity.io> Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com> Co-authored-by: Sergei Shulepov <sergei@parity.io>
This commit is contained in:
committed by
GitHub
parent
1e0ec19945
commit
f554868cd4
@@ -4,22 +4,21 @@ Validators vote on the availability of a backed candidate by issuing signed bitf
|
||||
|
||||
## Protocol
|
||||
|
||||
`ProtocolId`: `b"bitd"`: `PeerSet`: `Validation`
|
||||
`PeerSet`: `Validation`
|
||||
|
||||
Input:
|
||||
[`BitfieldDistributionMessage`](../../types/overseer-protocol.md#bitfield-distribution-message) which are gossiped to all peers, no matter if validator or not.
|
||||
|
||||
Output:
|
||||
|
||||
- `NetworkBridge::RegisterEventProducer(ProtocolId)` in order to register ourself as an event provider for the protocol.
|
||||
- `NetworkBridge::SendMessage([PeerId], ProtocolId, Bytes)` gossip a verified incoming bitfield on to interested subsystems within this validator node.
|
||||
- `NetworkBridge::SendValidationMessage([PeerId], message)` gossip a verified incoming bitfield on to interested subsystems within this validator node.
|
||||
- `NetworkBridge::ReportPeer(PeerId, cost_or_benefit)` improve or penalize the reputation of peers based on the messages that are received relative to the current view.
|
||||
- `ProvisionerMessage::ProvisionableData(ProvisionableData::Bitfield(relay_parent, SignedAvailabilityBitfield))` pass
|
||||
on the bitfield to the other submodules via the overseer.
|
||||
|
||||
## Functionality
|
||||
|
||||
This is implemented as a gossip system. Register a [network bridge](../utility/network-bridge.md) event producer on startup.
|
||||
This is implemented as a gossip system.
|
||||
|
||||
It is necessary to track peer connection, view change, and disconnection events, in order to maintain an index of which peers are interested in which relay parent bitfields.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user