Skip to content

Commit 9374cac

Browse files
gilescopebkchr
authored andcommitted
Removal of light client from substrate (paritytech#9684)
* Removal of light client from substrate * add missing import * These tests relate to there being light and non light clients. * removing lightnodes from test * cargo fmt * not needed * LightDataChecker not needed any longer * cargo fmt * Update client/service/test/src/lib.rs Co-authored-by: Bastian Köcher <[email protected]> * Update client/service/test/src/lib.rs Co-authored-by: Bastian Köcher <[email protected]> * cargo fmt Co-authored-by: Bastian Köcher <[email protected]>
1 parent 650fe07 commit 9374cac

File tree

22 files changed

+83
-3141
lines changed

22 files changed

+83
-3141
lines changed

Cargo.lock

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bin/node-template/node/src/command.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use crate::{
44
service,
55
};
66
use node_template_runtime::Block;
7-
use sc_cli::{ChainSpec, Role, RuntimeVersion, SubstrateCli};
7+
use sc_cli::{ChainSpec, RuntimeVersion, SubstrateCli};
88
use sc_service::PartialComponents;
99

1010
impl SubstrateCli for Cli {
@@ -111,11 +111,7 @@ pub fn run() -> sc_cli::Result<()> {
111111
None => {
112112
let runner = cli.create_runner(&cli.run)?;
113113
runner.run_node_until_exit(|config| async move {
114-
match config.role {
115-
Role::Light => service::new_light(config),
116-
_ => service::new_full(config),
117-
}
118-
.map_err(sc_cli::Error::Service)
114+
service::new_full(config).map_err(sc_cli::Error::Service)
119115
})
120116
},
121117
}

bin/node-template/node/src/service.rs

Lines changed: 1 addition & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.
22
33
use node_template_runtime::{self, opaque::Block, RuntimeApi};
4-
use sc_client_api::{ExecutorProvider, RemoteBackend};
4+
use sc_client_api::ExecutorProvider;
55
use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams};
66
pub use sc_executor::NativeElseWasmExecutor;
77
use sc_finality_grandpa::SharedVoterState;
@@ -336,144 +336,3 @@ pub fn new_full(mut config: Configuration) -> Result<TaskManager, ServiceError>
336336
network_starter.start_network();
337337
Ok(task_manager)
338338
}
339-
340-
/// Builds a new service for a light client.
341-
pub fn new_light(mut config: Configuration) -> Result<TaskManager, ServiceError> {
342-
let telemetry = config
343-
.telemetry_endpoints
344-
.clone()
345-
.filter(|x| !x.is_empty())
346-
.map(|endpoints| -> Result<_, sc_telemetry::Error> {
347-
let worker = TelemetryWorker::new(16)?;
348-
let telemetry = worker.handle().new_telemetry(endpoints);
349-
Ok((worker, telemetry))
350-
})
351-
.transpose()?;
352-
353-
let executor = NativeElseWasmExecutor::<ExecutorDispatch>::new(
354-
config.wasm_method,
355-
config.default_heap_pages,
356-
config.max_runtime_instances,
357-
);
358-
359-
let (client, backend, keystore_container, mut task_manager, on_demand) =
360-
sc_service::new_light_parts::<Block, RuntimeApi, _>(
361-
&config,
362-
telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()),
363-
executor,
364-
)?;
365-
366-
let mut telemetry = telemetry.map(|(worker, telemetry)| {
367-
task_manager.spawn_handle().spawn("telemetry", worker.run());
368-
telemetry
369-
});
370-
371-
config.network.extra_sets.push(sc_finality_grandpa::grandpa_peers_set_config());
372-
373-
let select_chain = sc_consensus::LongestChain::new(backend.clone());
374-
375-
let transaction_pool = Arc::new(sc_transaction_pool::BasicPool::new_light(
376-
config.transaction_pool.clone(),
377-
config.prometheus_registry(),
378-
task_manager.spawn_essential_handle(),
379-
client.clone(),
380-
on_demand.clone(),
381-
));
382-
383-
let (grandpa_block_import, grandpa_link) = sc_finality_grandpa::block_import(
384-
client.clone(),
385-
&(client.clone() as Arc<_>),
386-
select_chain.clone(),
387-
telemetry.as_ref().map(|x| x.handle()),
388-
)?;
389-
390-
let slot_duration = sc_consensus_aura::slot_duration(&*client)?.slot_duration();
391-
392-
let import_queue =
393-
sc_consensus_aura::import_queue::<AuraPair, _, _, _, _, _, _>(ImportQueueParams {
394-
block_import: grandpa_block_import.clone(),
395-
justification_import: Some(Box::new(grandpa_block_import.clone())),
396-
client: client.clone(),
397-
create_inherent_data_providers: move |_, ()| async move {
398-
let timestamp = sp_timestamp::InherentDataProvider::from_system_time();
399-
400-
let slot =
401-
sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration(
402-
*timestamp,
403-
slot_duration,
404-
);
405-
406-
Ok((timestamp, slot))
407-
},
408-
spawner: &task_manager.spawn_essential_handle(),
409-
can_author_with: sp_consensus::NeverCanAuthor,
410-
registry: config.prometheus_registry(),
411-
check_for_equivocation: Default::default(),
412-
telemetry: telemetry.as_ref().map(|x| x.handle()),
413-
})?;
414-
415-
let warp_sync = Arc::new(sc_finality_grandpa::warp_proof::NetworkProvider::new(
416-
backend.clone(),
417-
grandpa_link.shared_authority_set().clone(),
418-
Vec::default(),
419-
));
420-
421-
let (network, system_rpc_tx, network_starter) =
422-
sc_service::build_network(sc_service::BuildNetworkParams {
423-
config: &config,
424-
client: client.clone(),
425-
transaction_pool: transaction_pool.clone(),
426-
spawn_handle: task_manager.spawn_handle(),
427-
import_queue,
428-
on_demand: Some(on_demand.clone()),
429-
block_announce_validator_builder: None,
430-
warp_sync: Some(warp_sync),
431-
})?;
432-
433-
if config.offchain_worker.enabled {
434-
sc_service::build_offchain_workers(
435-
&config,
436-
task_manager.spawn_handle(),
437-
client.clone(),
438-
network.clone(),
439-
);
440-
}
441-
442-
let enable_grandpa = !config.disable_grandpa;
443-
if enable_grandpa {
444-
let name = config.network.node_name.clone();
445-
446-
let config = sc_finality_grandpa::Config {
447-
gossip_duration: std::time::Duration::from_millis(333),
448-
justification_period: 512,
449-
name: Some(name),
450-
observer_enabled: false,
451-
keystore: None,
452-
local_role: config.role.clone(),
453-
telemetry: telemetry.as_ref().map(|x| x.handle()),
454-
};
455-
456-
task_manager.spawn_handle().spawn_blocking(
457-
"grandpa-observer",
458-
sc_finality_grandpa::run_grandpa_observer(config, grandpa_link, network.clone())?,
459-
);
460-
}
461-
462-
sc_service::spawn_tasks(sc_service::SpawnTasksParams {
463-
remote_blockchain: Some(backend.remote_blockchain()),
464-
transaction_pool,
465-
task_manager: &mut task_manager,
466-
on_demand: Some(on_demand),
467-
rpc_extensions_builder: Box::new(|_, _| Ok(())),
468-
config,
469-
client,
470-
keystore: keystore_container.sync_keystore(),
471-
backend,
472-
network,
473-
system_rpc_tx,
474-
telemetry: telemetry.as_mut(),
475-
})?;
476-
477-
network_starter.start_network();
478-
Ok(task_manager)
479-
}

bin/node/cli/src/chain_spec.rs

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ pub fn local_testnet_config() -> ChainSpec {
418418
#[cfg(test)]
419419
pub(crate) mod tests {
420420
use super::*;
421-
use crate::service::{new_full_base, new_light_base, NewFullBase};
421+
use crate::service::{new_full_base, NewFullBase};
422422
use sc_service_test;
423423
use sp_runtime::BuildStorage;
424424

@@ -466,28 +466,16 @@ pub(crate) mod tests {
466466
fn test_connectivity() {
467467
sp_tracing::try_init_simple();
468468

469-
sc_service_test::connectivity(
470-
integration_test_config_with_two_authorities(),
471-
|config| {
472-
let NewFullBase { task_manager, client, network, transaction_pool, .. } =
473-
new_full_base(config, |_, _| ())?;
474-
Ok(sc_service_test::TestNetComponents::new(
475-
task_manager,
476-
client,
477-
network,
478-
transaction_pool,
479-
))
480-
},
481-
|config| {
482-
let (keep_alive, _, client, network, transaction_pool) = new_light_base(config)?;
483-
Ok(sc_service_test::TestNetComponents::new(
484-
keep_alive,
485-
client,
486-
network,
487-
transaction_pool,
488-
))
489-
},
490-
);
469+
sc_service_test::connectivity(integration_test_config_with_two_authorities(), |config| {
470+
let NewFullBase { task_manager, client, network, transaction_pool, .. } =
471+
new_full_base(config, |_, _| ())?;
472+
Ok(sc_service_test::TestNetComponents::new(
473+
task_manager,
474+
client,
475+
network,
476+
transaction_pool,
477+
))
478+
});
491479
}
492480

493481
#[test]

bin/node/cli/src/command.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
use crate::{chain_spec, service, service::new_partial, Cli, Subcommand};
2020
use node_executor::ExecutorDispatch;
2121
use node_runtime::{Block, RuntimeApi};
22-
use sc_cli::{ChainSpec, Result, Role, RuntimeVersion, SubstrateCli};
22+
use sc_cli::{ChainSpec, Result, RuntimeVersion, SubstrateCli};
2323
use sc_service::PartialComponents;
2424

2525
impl SubstrateCli for Cli {
@@ -77,11 +77,7 @@ pub fn run() -> Result<()> {
7777
None => {
7878
let runner = cli.create_runner(&cli.run)?;
7979
runner.run_node_until_exit(|config| async move {
80-
match config.role {
81-
Role::Light => service::new_light(config),
82-
_ => service::new_full(config),
83-
}
84-
.map_err(sc_cli::Error::Service)
80+
service::new_full(config).map_err(sc_cli::Error::Service)
8581
})
8682
},
8783
Some(Subcommand::Inspect(cmd)) => {

0 commit comments

Comments
 (0)