From b6a78d297601b43d5cfc55490dbbd29a8a2b377e Mon Sep 17 00:00:00 2001 From: Robert Klotzner <eskimor@users.noreply.github.com> Date: Tue, 9 Mar 2021 01:46:24 +0100 Subject: [PATCH] Mostly, let guide reflect #2579 (#2583) * Statement distribution is now validator only. * Avoid Arc creation where it is not necessarily needed. --- polkadot/node/core/backing/src/lib.rs | 4 ++-- .../src/node/backing/statement-distribution.md | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/polkadot/node/core/backing/src/lib.rs b/polkadot/node/core/backing/src/lib.rs index b135458ab99..777279640e4 100644 --- a/polkadot/node/core/backing/src/lib.rs +++ b/polkadot/node/core/backing/src/lib.rs @@ -773,10 +773,10 @@ impl CandidateBackingJob { if self.seconded.is_none() { // This job has not seconded a candidate yet. let candidate_hash = candidate.hash(); - let pov = Arc::new(pov); if !self.issued_statements.contains(&candidate_hash) { - self.validate_and_second(&span, &candidate, pov.clone()).await?; + let pov = Arc::new(pov); + self.validate_and_second(&span, &candidate, pov).await?; } } } diff --git a/polkadot/roadmap/implementers-guide/src/node/backing/statement-distribution.md b/polkadot/roadmap/implementers-guide/src/node/backing/statement-distribution.md index 9e15bc35e5e..95072509c75 100644 --- a/polkadot/roadmap/implementers-guide/src/node/backing/statement-distribution.md +++ b/polkadot/roadmap/implementers-guide/src/node/backing/statement-distribution.md @@ -19,8 +19,6 @@ Output: Implemented as a gossip protocol. Handle updates to our view and peers' views. Neighbor packets are used to inform peers which chain heads we are interested in data for. -Statement Distribution is the only backing subsystem which has any notion of peer nodes, who are any full nodes on the network. Validators will also act as peer nodes. - It is responsible for distributing signed statements that we have generated and forwarding them, and for detecting a variety of Validator misbehaviors for reporting to [Misbehavior Arbitration](../utility/misbehavior-arbitration.md). During the Backing stage of the inclusion pipeline, it's the main point of contact with peer nodes. On receiving a signed statement from a peer, assuming the peer receipt state machine is in an appropriate state, it sends the Candidate Receipt to the [Candidate Backing subsystem](candidate-backing.md) to handle the validator's statement. Track equivocating validators and stop accepting information from them. Establish a data-dependency order: -- GitLab