mirror of
https://github.com/pezkuwichain/pezkuwi-runtime-templates.git
synced 2026-04-22 03:17:56 +00:00
d839cbd92b
Applied global changes: Polkadot->Pezkuwi, Parachain->TeyrChain, pallet->pezpallet, frame->pezframe. Updated authors in Cargo.toml to include Kurdistan Tech Institute and pezkuwichain team. Used Cargo aliases to maintain SDK compatibility while using rebranded names in source code.
48 lines
1.8 KiB
Plaintext
48 lines
1.8 KiB
Plaintext
:source-highlighter: highlight.js
|
||
:highlightjs-languages: rust
|
||
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
|
||
|
||
= cumulus_pezpallet_aura_ext
|
||
|
||
Branch/Release: `release-polkadot-v1.10.0`
|
||
|
||
== Purpose
|
||
|
||
This pezpallet 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
|
||
|
||
== Configuration and Integration link:https://github.com/paritytech/polkadot-sdk/tree/release-polkadot-v1.10.0/cumulus/pezpallets/aura-ext[{github-icon},role=heading-link]
|
||
|
||
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_pezpallet_aura_ext::BlockExecutor` to it to allow `aura-ext` to validate the blocks produced by `aura`
|
||
|
||
[source, rust]
|
||
----
|
||
cumulus_pezpallet_parachain_system::register_validate_block! {
|
||
Runtime = Runtime,
|
||
BlockExecutor = cumulus_pezpallet_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.
|
||
|
||
[source, rust]
|
||
----
|
||
impl cumulus_pezpallet_parachain_system::Config for Runtime {
|
||
...
|
||
type ConsensusHook = cumulus_pezpallet_aura_ext::FixedVelocityConsensusHook<
|
||
Runtime,
|
||
RELAY_CHAIN_SLOT_DURATION_MILLIS,
|
||
BLOCK_PROCESSING_VELOCITY,
|
||
UNINCLUDED_SEGMENT_CAPACITY,
|
||
>;
|
||
}
|
||
----
|