Previous Versionsv2.0.2Pallets

cumulus_pallet_aura_ext

Outdated Version

You're viewing an older version (v2.0.2) The latest documentation is available for the current version. Click here to visit latest version.

Branch/Release: release-polkadot-v1.10.0

Purpose

This pallet integrates parachain’s own block production mechanism (for example AuRa) into Cumulus parachain system. It allows:

  • to manage the unincluded blocks from the current slot
  • to validate produced block against the relay chain

There is no special config for this integration and it has no dispatchables, but you need to integrate it with other parachain-system crate:

Integrate BlockExecutor

When you invoke the register_validate_block macro, you should provide cumulus_pallet_aura_ext::BlockExecutor to it to allow aura-ext to validate the blocks produced by aura

cumulus_pallet_parachain_system::register_validate_block! {
    Runtime = Runtime,
    BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::<Runtime, Executive>,
}

Integrate ConsensusHook

Also you might want to manage the consensus externally and control the segment that is not yet included (its capacity, speed and etc.) aura-ext provides the FixedVelocityConsensusHook that allows to check if we are still in the limits for the slot.

impl cumulus_pallet_parachain_system::Config for Runtime {
    ...
    type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook<
        Runtime,
        RELAY_CHAIN_SLOT_DURATION_MILLIS,
        BLOCK_PROCESSING_VELOCITY,
        UNINCLUDED_SEGMENT_CAPACITY,
    >;
}