4 个稳定版本

1.6.3 2024 年 5 月 13 日
1.6.2 2024 年 5 月 10 日
1.6.1 2024 年 5 月 6 日
1.6.0 2024 年 5 月 2 日

#5 in #ismp

Download history 122/week @ 2024-04-28 308/week @ 2024-05-05 168/week @ 2024-05-12 14/week @ 2024-05-19 4/week @ 2024-06-09 1/week @ 2024-06-16 16/week @ 2024-06-30

每月 186 次下载

Apache-2.0GPL-3.0-or-later…

135KB
2K SLoC

ISMP Parachain Inherent

此模块导出内建提供者,其中包括作为区块内建的 ISMP parachain 共识更新。

用法

要使用此模块,您需要将内建模块包含到您的 collator 参数中,如下所示

fn start_consensus(
    client: Arc<FullClient>,
    backend: Arc<FullBackend>,
    block_import: ParachainBlockImport,
    prometheus_registry: Option<&Registry>,
    telemetry: Option<TelemetryHandle>,
    task_manager: &TaskManager,
    relay_chain_interface: Arc<dyn RelayChainInterface>,
    transaction_pool: Arc<sc_transaction_pool::FullPool<opaque::Block, FullClient>>,
    sync_oracle: Arc<SyncingService<opaque::Block>>,
    keystore: KeystorePtr,
    relay_chain_slot_duration: Duration,
    para_id: ParaId,
    collator_key: CollatorPair,
    overseer_handle: OverseerHandle,
    announce_block: Arc<dyn Fn(opaque::Hash, Option<Vec<u8>>) + Send + Sync>,
) {
    // .. omitted calls

    let (client_clone, relay_chain_interface_clone) =
        (client.clone(), relay_chain_interface.clone());
    let params = lookahead::Params {
        create_inherent_data_providers: move |parent, ()| {
            let client = client_clone.clone();
            let relay_chain_interface = relay_chain_interface_clone.clone();
            async move {
                let inherent = ismp_parachain_inherent::ConsensusInherentProvider::create(
                    parent,
                    client,
                    relay_chain_interface,
                ).await?;

                Ok(inherent)
            }
        },
        ..Default::default()
        // omitted fields
    };
    
    // ..omitted calls
}

许可证

此库采用 Apache 2.0 许可证,版权所有 (c) 2024 Polytope Labs。

依赖项

~78–120MB
~2M SLoC