pub fn start_babe<B, C, SC, E, I, SO, CIDP, BS, L, Error>(
    _: BabeParams<B, C, SC, E, I, SO, L, CIDP, BS>
) -> Result<BabeWorker<B>, Error>
where B: BlockT, C: ProvideRuntimeApi<B> + HeaderBackend<B> + HeaderMetadata<B, Error = Error> + Send + Sync + 'static, C::Api: BabeApi<B>, SC: SelectChain<B> + 'static, E: Environment<B, Error = Error> + Send + Sync + 'static, E::Proposer: Proposer<B, Error = Error>, I: BlockImport<B, Error = Error> + Send + Sync + 'static, SO: SyncOracle + Send + Sync + Clone + 'static, L: JustificationSyncLink<B> + 'static, CIDP: CreateInherentDataProviders<B, ()> + Send + Sync + 'static, CIDP::InherentDataProviders: InherentDataProviderExt + Send, BS: BackoffAuthoringBlocksStrategy<NumberFor<B>> + Send + Sync + 'static, Error: Error + Send + From<Error> + From<I::Error> + 'static,
Expand description

Start the babe worker.