Struct sc_consensus_babe::BabeParams
source · pub struct BabeParams<B: BlockT, C, SC, E, I, SO, L, CIDP, BS> {Show 14 fields
pub keystore: KeystorePtr,
pub client: Arc<C>,
pub select_chain: SC,
pub env: E,
pub block_import: I,
pub sync_oracle: SO,
pub justification_sync_link: L,
pub create_inherent_data_providers: CIDP,
pub force_authoring: bool,
pub backoff_authoring_blocks: Option<BS>,
pub babe_link: BabeLink<B>,
pub block_proposal_slot_portion: SlotProportion,
pub max_block_proposal_slot_portion: Option<SlotProportion>,
pub telemetry: Option<TelemetryHandle>,
}
Expand description
Parameters for BABE.
Fields§
§keystore: KeystorePtr
The keystore that manages the keys of the node.
client: Arc<C>
The client to use
select_chain: SC
The SelectChain Strategy
env: E
The environment we are producing blocks for.
block_import: I
The underlying block-import object to supply our produced blocks to.
This must be a BabeBlockImport
or a wrapper of it, otherwise
critical consensus logic will be omitted.
sync_oracle: SO
A sync oracle
justification_sync_link: L
Hook into the sync module to control the justification sync process.
create_inherent_data_providers: CIDP
Something that can create the inherent data providers.
Force authoring of blocks even if we are offline
Strategy and parameters for backing off block production.
babe_link: BabeLink<B>
The source of timestamps for relative slots
block_proposal_slot_portion: SlotProportion
The proportion of the slot dedicated to proposing.
The block proposing will be limited to this proportion of the slot from the starting of the slot. However, the proposing can still take longer when there is some lenience factor applied, because there were no blocks produced for some slots.
max_block_proposal_slot_portion: Option<SlotProportion>
The maximum proportion of the slot dedicated to proposing with any lenience factor applied due to no blocks being produced.
telemetry: Option<TelemetryHandle>
Handle use to report telemetries.
Auto Trait Implementations§
impl<B, C, SC, E, I, SO, L, CIDP, BS> Freeze for BabeParams<B, C, SC, E, I, SO, L, CIDP, BS>
impl<B, C, SC, E, I, SO, L, CIDP, BS> !RefUnwindSafe for BabeParams<B, C, SC, E, I, SO, L, CIDP, BS>
impl<B, C, SC, E, I, SO, L, CIDP, BS> Send for BabeParams<B, C, SC, E, I, SO, L, CIDP, BS>
impl<B, C, SC, E, I, SO, L, CIDP, BS> Sync for BabeParams<B, C, SC, E, I, SO, L, CIDP, BS>
impl<B, C, SC, E, I, SO, L, CIDP, BS> Unpin for BabeParams<B, C, SC, E, I, SO, L, CIDP, BS>
impl<B, C, SC, E, I, SO, L, CIDP, BS> !UnwindSafe for BabeParams<B, C, SC, E, I, SO, L, CIDP, BS>
Blanket Implementations§
source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.