Skip to content
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

Consensus migration stage 1: Enable Nimbus-Aura #582

Merged
merged 209 commits into from
Aug 9, 2022
Merged

Conversation

Garandor
Copy link
Contributor

@Garandor Garandor commented Jun 8, 2022

This PR enables Nimbus-Aura consensus for Dolphin as stage 1 of #486

It creates a 3-step author filter pipeline:

  1. Check that a NimbusId attached to a block seal belongs to an AccountId and is registered with
    SessionKeys
  2. Check that the ValidatorId belonging to that account is part of Session::validators()
  3. Select one collator from the set of eligibles per slot in round-robin fashion = aura

followup to #668
addresses #669
fixes #612

NOTE:

  • Failure of docker-image-test is expected as this is a consensus-breaking change. The new client is incompatible with the currently deployed state of the calamari chain and will only work when the chain runtime is upgraded.
  • Failure of dolphin- and calamari-integration-test is also expected and depends on an upstream fix in polkadot-js/api. The submitted PR is: Extend getAuthorDetails to handle Nimbus for the MantaNetwork usecase polkadot-js/api#5142

Todo:

  • Enable on calamari
  • runtime-benchmarks / try-runtime
  • [ ] remove left-over mentions of aura
    Can't do this as we still use the Aura session key until we migrate away
  • Merge service_nimbus back into service, leave old aura service used for manta as service_aura
  • Upgrading manta runtime to nimbus left for a followup issue
  • Localize/Fix avg block time degradation - this was a misconfiguration of local testing. block avg is 12s as normal
  • Fix benchmark failure
  • Fix polkadot-js API not getting block author correctly on Dolphin

ghzlatarev and others added 27 commits May 20, 2022 18:48
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Dengjianping <djptux@gmail.com>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
@Garandor Garandor self-assigned this Jun 8, 2022
@Garandor Garandor added the C-enhancement Category: An issue proposing an enhancement or a PR with one label Jun 8, 2022
@Garandor Garandor added the A-client Client - i.e. not upgradeable with the runtime - changes label Aug 4, 2022
Signed-off-by: Adam Reif <Garandor@manta.network>
Adam Reif added 5 commits August 6, 2022 18:14
Signed-off-by: Adam Reif <Garandor@manta.network>
Signed-off-by: Adam Reif <Garandor@manta.network>
Signed-off-by: Adam Reif <Garandor@manta.network>
Signed-off-by: Adam Reif <Garandor@manta.network>
Signed-off-by: Adam Reif <Garandor@manta.network>
node/Cargo.toml Outdated Show resolved Hide resolved
Adam Reif added 4 commits August 8, 2022 12:45
Signed-off-by: Adam Reif <Garandor@manta.network>
Signed-off-by: Adam Reif <Garandor@manta.network>
Signed-off-by: Adam Reif <Garandor@manta.network>
Signed-off-by: Adam Reif <Garandor@manta.network>
ghzlatarev
ghzlatarev previously approved these changes Aug 9, 2022
node/src/service_aura.rs Show resolved Hide resolved
runtime/calamari/src/lib.rs Outdated Show resolved Hide resolved
Adam Reif added 2 commits August 9, 2022 08:09
Signed-off-by: Adam Reif <Garandor@manta.network>
…imbus

Signed-off-by: Adam Reif <Garandor@manta.network>
@ghzlatarev ghzlatarev merged commit 6ae3e1f into manta Aug 9, 2022
@ghzlatarev ghzlatarev deleted the garandor/nimbus branch August 9, 2022 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-calamari Area: Issues and PRs related to the Calamari Runtime A-client Client - i.e. not upgradeable with the runtime - changes A-consensus Area: Issues and PRs related to Consensus A-dolphin Area: Issues and PRs related to the Dolphin Runtime A-runtime Area: Issues and PRs related to Runtimes C-enhancement Category: An issue proposing an enhancement or a PR with one L-changed Log: Issues and PRs related to changes P-high Priority: High
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Metrics are not showing collated blocks
5 participants