pub fn new_partial<RuntimeApi, Executor>(
	config: &mut Configuration,
) -> Result<
	PartialComponents<
		TFullClient<Block, RuntimeApi, Executor>,
		TFullBackend<Block>,
		(),
		sp_consensus::import_queue::BasicQueue<Block, PrefixedMemoryDB<BlakeTwo256>>,
		sc_transaction_pool::FullPool<Block, TFullClient<Block, RuntimeApi, Executor>>,
		(),
	>,
	sc_service::Error,
>
where
	RuntimeApi: ConstructRuntimeApi<Block, TFullClient<Block, RuntimeApi, Executor>>
		+ Send
		+ Sync
		+ 'static,
	RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block>
		+ sp_api::Metadata<Block>
		+ sp_session::SessionKeys<Block>
		+ sp_api::ApiExt<
			Block,
			Error = sp_blockchain::Error,
			StateBackend = sc_client_api::StateBackendFor<TFullBackend<Block>, Block>,
		> + sp_offchain::OffchainWorkerApi<Block>
		+ sp_block_builder::BlockBuilder<Block>,
	sc_client_api::StateBackendFor<TFullBackend<Block>, Block>: sp_api::StateBackend<BlakeTwo256>,
	Executor: sc_executor::NativeExecutionDispatch + 'static,
{
	let inherent_data_providers = sp_inherents::InherentDataProviders::new();

	let (client, backend, keystore, task_manager) =
		sc_service::new_full_parts::<Block, RuntimeApi, Executor>(&config)?;
	let client = Arc::new(client);

	let registry = config.prometheus_registry();

	let transaction_pool = sc_transaction_pool::BasicPool::new_full(
		config.transaction_pool.clone(),
		config.prometheus_registry(),
		task_manager.spawn_handle(),
		client.clone(),
	);

	let import_queue = cumulus_consensus::import_queue::import_queue(
		client.clone(),
		client.clone(),
		inherent_data_providers.clone(),
		&task_manager.spawn_handle(),
		registry.clone(),
	)?;

	let params = PartialComponents {
		backend,
		client,
		import_queue,
		keystore,
		task_manager,
		transaction_pool,
		inherent_data_providers,
		select_chain: (),
		other: (),
	};

	Ok(params)
}
/// Starts a `ServiceBuilder` for a full service.
///
/// Use this macro if you don't actually need the full service, but just the builder in order to
/// be able to perform chain operations.
Starts a `ServiceBuilder` for a full service.
Use this macro if you don't actually need the full service, but just the builder in order to
be able to perform chain operations.
Starts a ` ServiceBuilder ` for a full service . Use this macro if you don ' t actually need the full service but just the builder in order to be able to perform chain operations .
pub fn new_partial<RuntimeApi, Executor>(
	config: &mut Configuration,
) -> Result<
	PartialComponents<
		TFullClient<Block, RuntimeApi, Executor>,
		TFullBackend<Block>,
		(),
		sp_consensus::import_queue::BasicQueue<Block, PrefixedMemoryDB<BlakeTwo256>>,
		sc_transaction_pool::FullPool<Block, TFullClient<Block, RuntimeApi, Executor>>,
		(),
	>,
	sc_service::Error,
>
where
	RuntimeApi: ConstructRuntimeApi<Block, TFullClient<Block, RuntimeApi, Executor>>
		+ Send
		+ Sync
		+ 'static,
	RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block>
		+ sp_api::Metadata<Block>
		+ sp_session::SessionKeys<Block>
		+ sp_api::ApiExt<
			Block,
			Error = sp_blockchain::Error,
			StateBackend = sc_client_api::StateBackendFor<TFullBackend<Block>, Block>,
		> + sp_offchain::OffchainWorkerApi<Block>
		+ sp_block_builder::BlockBuilder<Block>,
	sc_client_api::StateBackendFor<TFullBackend<Block>, Block>: sp_api::StateBackend<BlakeTwo256>,
	Executor: sc_executor::NativeExecutionDispatch + 'static,
{
	let inherent_data_providers = sp_inherents::InherentDataProviders::new();
	let (client, backend, keystore, task_manager) =
		sc_service::new_full_parts::<Block, RuntimeApi, Executor>(&config)?;
	let client = Arc::new(client);
	let registry = config.prometheus_registry();
	let transaction_pool = sc_transaction_pool::BasicPool::new_full(
		config.transaction_pool.clone(),
		config.prometheus_registry(),
		task_manager.spawn_handle(),
		client.clone(),
	);
	let import_queue = cumulus_consensus::import_queue::import_queue(
		client.clone(),
		client.clone(),
		inherent_data_providers.clone(),
		&task_manager.spawn_handle(),
		registry.clone(),
	)?;
	let params = PartialComponents {
		backend,
		client,
		import_queue,
		keystore,
		task_manager,
		transaction_pool,
		inherent_data_providers,
		select_chain: (),
		other: (),
	};
	Ok(params)
}
pub fn new_partial < RuntimeApi , Executor > ( config : & mut Configuration , ) -> Result < PartialComponents < TFullClient < Block , RuntimeApi , Executor > , TFullBackend < Block > , ( ) , sp_consensus :: import_queue :: BasicQueue < Block , PrefixedMemoryDB < BlakeTwo256 > > , sc_transaction_pool :: FullPool < Block , TFullClient < Block , RuntimeApi , Executor > > , ( ) , > , sc_service :: Error , > where RuntimeApi : ConstructRuntimeApi < Block , TFullClient < Block , RuntimeApi , Executor > > + Send + Sync + ' static , RuntimeApi :: RuntimeApi : sp_transaction_pool :: runtime_api :: TaggedTransactionQueue < Block > + sp_api :: Metadata < Block > + sp_session :: SessionKeys < Block > + sp_api :: ApiExt < Block , Error = sp_blockchain :: Error , StateBackend = sc_client_api :: StateBackendFor < TFullBackend < Block > , Block > , > + sp_offchain :: OffchainWorkerApi < Block > + sp_block_builder :: BlockBuilder < Block > , sc_client_api :: StateBackendFor < TFullBackend < Block > , Block > : sp_api :: StateBackend < BlakeTwo256 > , Executor : sc_executor :: NativeExecutionDispatch + ' static , { let inherent_data_providers = sp_inherents :: InherentDataProviders :: new ( ) ; let ( client , backend , keystore , task_manager ) = sc_service :: new_full_parts :: < Block , RuntimeApi , Executor > ( & config ) ? ; let client = Arc :: new ( client ) ; let registry = config . prometheus_registry ( ) ; let transaction_pool = sc_transaction_pool :: BasicPool :: new_full ( config . transaction_pool . clone ( ) , config . prometheus_registry ( ) , task_manager . spawn_handle ( ) , client . clone ( ) , ) ; let import_queue = cumulus_consensus :: import_queue :: import_queue ( client . clone ( ) , client . clone ( ) , inherent_data_providers . clone ( ) , & task_manager . spawn_handle ( ) , registry . clone ( ) , ) ? ; let params = PartialComponents { backend , client , import_queue , keystore , task_manager , transaction_pool , inherent_data_providers , select_chain : ( ) , other : ( ) , } ; Ok ( params ) }
Starts a `ServiceBuilder` for a full service.
Starts a ` ServiceBuilder ` for a full service .
config
&mut Configuration
config
&mut Configuration