Collators need to join the validation network to tell its connected
relay chain peers the leaf they listen on. This is required to make the
Parachain validator send the signed statement to the collators as well.
* service/src/lib: Enable authority discovery on sentry nodes
When run as a sentry node, the authority discovery module does not
publish any addresses to the dht, but still discovers validators and
sentry nodes of validators.
* bin/node/cli/src/service: Use expressions instead of statements
* Cargo.lock: Run `cargo update`
* service/src/lib: Fix compile error
* Initial draft
* More work
* Build
* Docs
* Insert westend keys
* Add badBlock to fork from old chain
* Updated spec to reset westend
* Use raw spec
* Fix spec format and use westend2 for both id's
* Correct public key for bootnode 3
* Build
* Extra space
* Fix build
* Lock
* Update lock
* Fixes
* Fix for he startup text
* Bump
Co-authored-by: Gav Wood <gavin@parity.io>
* Companion PR to splitting Roles
* Fix network tests
* Fix service build
* Even more fixing
* Oops, quick fix
* use is_network_authority in grandpa service config
Co-authored-by: André Silva <andre.beat@gmail.com>
* Updates for the new democracy
* Introduce progressive democracy
Also move to "master" branch of Substrate ready for continuous
sync with Substrate master.
* hardfork the GRANDPA authority set in kusama to fix migration issue
* move grandpa integration code
* remove unnecessary grandpa hard fork
* update to latest substrate polkadot-master
* grandpa: add voting rule to pause new votes for a period
* grandpa: increase delay
* grandpa: parse custom pause delay from cli
* grandpa: log scheduled pause on startup
* grandpa: rename parameter to grandpa_pause
* grandpa: make pause voting rule generic on block
* grandpa: add test for pause voting rule
* grandpa: add hardcoded pause
* collator: fix test compilation
* Flag to force kusama runtime
* Chainspecs for kusama
* Polkadot config for westend
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* network/src/legacy/gossip: Wrap GossipEngine in Arc Mutex & lock it on use
`GossipEngine` in itself has no need to be Send and Sync, given that it
does not rely on separately spawned background tasks anymore.
`RegisteredMessageValidator` needs to be `Send` and `Sync` due to the
inherited trait bounds from implementing `GossipService`. In addition
`RegisteredMessageValidator` derives `Clone`. Thereby `GossipEngine`
needs to be wrapped in an `Arc` and `Mutex` to keep the status quo.
* Needed fixes.
* Fixes
* Fixed build
* Fixed build w benchmarking CLI
* Fixed building tests
* Added --dev shortcut
Co-authored-by: arkpar <arkady.paronyan@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Max Inden <mail@max-inden.de>
* expunge legacy code from polkadot-network
* mostly rip out old legacy protocol from service
* ensure validation work is spawned by incoming messages
* decouple availabliity store from network logic; clean up data flow
* av_store: test helpers and use futures-abort
* update polkadot-validation to pass n_validators when submitting chunks
* fallible erasure-chunk fetching
* implement `ErasureNetworking` for new network prot
* API for registering availability store in network
* fully integrate new network service into service
* fix validation tests
* scaffolding for porting collator over to new network
* track connected validators' peer IDs and distribute collators' collations
* helper in network for fetching all checked statements
* fix adder-collator
* actually register notifications protocol
* Update service/src/lib.rs
* Make needed changes to service
* Merge two companion PRs.
- #880
- #881
* Some effort towards compilation
* Fix
* remove `NetworkSpecialization` references from network
* fix compilation errors in service and collator
* ensure protocol name is valid
* Fixes
* Fix
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
Co-authored-by: Ashley <ashley.ruglys@gmail.com>
* expunge legacy code from polkadot-network
* mostly rip out old legacy protocol from service
* ensure validation work is spawned by incoming messages
* decouple availabliity store from network logic; clean up data flow
* av_store: test helpers and use futures-abort
* update polkadot-validation to pass n_validators when submitting chunks
* fallible erasure-chunk fetching
* implement `ErasureNetworking` for new network prot
* API for registering availability store in network
* fully integrate new network service into service
* fix validation tests
* scaffolding for porting collator over to new network
* track connected validators' peer IDs and distribute collators' collations
* helper in network for fetching all checked statements
* fix adder-collator
* actually register notifications protocol
* Update service/src/lib.rs
* merge with master
* extract all network code to legacy submodule
* update references to legacy proto
* skeleton of futures-based protocol
* refactor skeleton to use background task
* rename communication_for to build_table_router
* implement internal message types for validation network
* basic ParachainNetwork and TableRouter implementations
* add some module docs
* remove exit-future from validation
* hack: adapt legacy protocol to lack of exit-future
* generalize RegisteredMessageValidator somewhat
* instantiate and teardown table routers
* clean up RouterInner drop logic
* implement most of the statement import loop
* implement statement loop in async/await
* remove unneeded TODO
* most of the collation skeleton
* send session keys and validator roles
* also send role after status
* use config in startup
* point TODO to issue
* fix test compilation