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> + ProvideUncles<B> + BlockchainEvents<B> + PreCommitActions<B> + HeaderBackend<B> + HeaderMetadata<B, Error = ClientError> + 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, Transaction = TransactionFor<C, B>>,
    I: BlockImport<B, Error = ConsensusError, Transaction = TransactionFor<C, B>> + 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<ConsensusError> + From<I::Error> + 'static,
Expand description

Start the babe worker.