mirror of
https://github.com/pezkuwichain/pez-minimal-template.git
synced 2026-04-22 04:27:57 +00:00
Update the minimal template to stable2412 (#21)
This synchronizes the template to the stable2412 branch. --------- Signed-off-by: Iulian Barbu <iulian.barbu@parity.io> Co-authored-by: iulianbarbu <14218860+iulianbarbu@users.noreply.github.com> Co-authored-by: Iulian Barbu <iulian.barbu@parity.io>
This commit is contained in:
committed by
GitHub
parent
3004222b11
commit
a76e4bf0ed
+1
-1
@@ -20,4 +20,4 @@ It's a place to configure consensus-related topics. In favor of minimalism, this
|
||||
|
||||
## Release
|
||||
|
||||
Polkadot SDK stable2409
|
||||
Polkadot SDK Stable 2412
|
||||
|
||||
+3
-19
@@ -15,13 +15,11 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
use minimal_template_runtime::{BalancesConfig, SudoConfig, WASM_BINARY};
|
||||
use minimal_template_runtime::WASM_BINARY;
|
||||
use polkadot_sdk::{
|
||||
sc_service::{ChainType, Properties},
|
||||
sp_keyring::AccountKeyring,
|
||||
*,
|
||||
};
|
||||
use serde_json::{json, Value};
|
||||
|
||||
/// This is a specialization of the general Substrate ChainSpec type.
|
||||
pub type ChainSpec = sc_service::GenericChainSpec;
|
||||
@@ -33,26 +31,12 @@ fn props() -> Properties {
|
||||
properties
|
||||
}
|
||||
|
||||
pub fn development_config() -> Result<ChainSpec, String> {
|
||||
pub fn development_chain_spec() -> Result<ChainSpec, String> {
|
||||
Ok(ChainSpec::builder(WASM_BINARY.expect("Development wasm not available"), Default::default())
|
||||
.with_name("Development")
|
||||
.with_id("dev")
|
||||
.with_chain_type(ChainType::Development)
|
||||
.with_genesis_config_patch(testnet_genesis())
|
||||
.with_genesis_config_preset_name(sp_genesis_builder::DEV_RUNTIME_PRESET)
|
||||
.with_properties(props())
|
||||
.build())
|
||||
}
|
||||
|
||||
/// Configure initial storage state for FRAME pallets.
|
||||
fn testnet_genesis() -> Value {
|
||||
use minimal_template_runtime::interface::{Balance, MinimumBalance};
|
||||
use polkadot_sdk::polkadot_sdk_frame::traits::Get;
|
||||
let endowment = <MinimumBalance as Get<Balance>>::get().max(1) * 1000;
|
||||
let balances = AccountKeyring::iter()
|
||||
.map(|a| (a.to_account_id(), endowment))
|
||||
.collect::<Vec<_>>();
|
||||
json!({
|
||||
"balances": BalancesConfig { balances },
|
||||
"sudo": SudoConfig { key: Some(AccountKeyring::Alice.to_account_id()) },
|
||||
})
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ use polkadot_sdk::{sc_cli::RunCmd, *};
|
||||
pub enum Consensus {
|
||||
ManualSeal(u64),
|
||||
InstantSeal,
|
||||
None,
|
||||
}
|
||||
|
||||
impl std::str::FromStr for Consensus {
|
||||
@@ -31,6 +32,8 @@ impl std::str::FromStr for Consensus {
|
||||
Consensus::InstantSeal
|
||||
} else if let Some(block_time) = s.strip_prefix("manual-seal-") {
|
||||
Consensus::ManualSeal(block_time.parse().map_err(|_| "invalid block time")?)
|
||||
} else if s.to_lowercase() == "none" {
|
||||
Consensus::None
|
||||
} else {
|
||||
return Err("incorrect consensus identifier".into());
|
||||
})
|
||||
|
||||
+1
-1
@@ -49,7 +49,7 @@ impl SubstrateCli for Cli {
|
||||
|
||||
fn load_spec(&self, id: &str) -> Result<Box<dyn sc_service::ChainSpec>, String> {
|
||||
Ok(match id {
|
||||
"dev" => Box::new(chain_spec::development_config()?),
|
||||
"dev" => Box::new(chain_spec::development_chain_spec()?),
|
||||
path =>
|
||||
Box::new(chain_spec::ChainSpec::from_json_file(std::path::PathBuf::from(path))?),
|
||||
})
|
||||
|
||||
+19
-16
@@ -15,6 +15,7 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
use crate::cli::Consensus;
|
||||
use futures::FutureExt;
|
||||
use minimal_template_runtime::{interface::OpaqueBlock as Block, RuntimeApi};
|
||||
use polkadot_sdk::{
|
||||
@@ -28,8 +29,6 @@ use polkadot_sdk::{
|
||||
};
|
||||
use std::sync::Arc;
|
||||
|
||||
use crate::cli::Consensus;
|
||||
|
||||
type HostFunctions = sp_io::SubstrateHostFunctions;
|
||||
|
||||
#[docify::export]
|
||||
@@ -45,7 +44,7 @@ pub type Service = sc_service::PartialComponents<
|
||||
FullBackend,
|
||||
FullSelectChain,
|
||||
sc_consensus::DefaultImportQueue<Block>,
|
||||
sc_transaction_pool::FullPool<Block, FullClient>,
|
||||
sc_transaction_pool::TransactionPoolHandle<Block, FullClient>,
|
||||
Option<Telemetry>,
|
||||
>;
|
||||
|
||||
@@ -78,12 +77,15 @@ pub fn new_partial(config: &Configuration) -> Result<Service, ServiceError> {
|
||||
|
||||
let select_chain = sc_consensus::LongestChain::new(backend.clone());
|
||||
|
||||
let transaction_pool = sc_transaction_pool::BasicPool::new_full(
|
||||
config.transaction_pool.clone(),
|
||||
config.role.is_authority().into(),
|
||||
config.prometheus_registry(),
|
||||
task_manager.spawn_essential_handle(),
|
||||
client.clone(),
|
||||
let transaction_pool = Arc::from(
|
||||
sc_transaction_pool::Builder::new(
|
||||
task_manager.spawn_essential_handle(),
|
||||
client.clone(),
|
||||
config.role.is_authority().into(),
|
||||
)
|
||||
.with_options(config.transaction_pool.clone())
|
||||
.with_prometheus(config.prometheus_registry())
|
||||
.build(),
|
||||
);
|
||||
|
||||
let import_queue = sc_consensus_manual_seal::import_queue(
|
||||
@@ -135,11 +137,11 @@ pub fn new_full<Network: sc_network::NetworkBackend<Block, <Block as BlockT>::Ha
|
||||
let (network, system_rpc_tx, tx_handler_controller, network_starter, sync_service) =
|
||||
sc_service::build_network(sc_service::BuildNetworkParams {
|
||||
config: &config,
|
||||
net_config,
|
||||
client: client.clone(),
|
||||
transaction_pool: transaction_pool.clone(),
|
||||
spawn_handle: task_manager.spawn_handle(),
|
||||
import_queue,
|
||||
net_config,
|
||||
block_announce_validator_builder: None,
|
||||
warp_sync_config: None,
|
||||
block_relay: None,
|
||||
@@ -147,9 +149,7 @@ pub fn new_full<Network: sc_network::NetworkBackend<Block, <Block as BlockT>::Ha
|
||||
})?;
|
||||
|
||||
if config.offchain_worker.enabled {
|
||||
task_manager.spawn_handle().spawn(
|
||||
"offchain-workers-runner",
|
||||
"offchain-worker",
|
||||
let offchain_workers =
|
||||
sc_offchain::OffchainWorkers::new(sc_offchain::OffchainWorkerOptions {
|
||||
runtime_api_provider: client.clone(),
|
||||
is_validator: config.role.is_authority(),
|
||||
@@ -161,9 +161,11 @@ pub fn new_full<Network: sc_network::NetworkBackend<Block, <Block as BlockT>::Ha
|
||||
network_provider: Arc::new(network.clone()),
|
||||
enable_http_requests: true,
|
||||
custom_extensions: |_| vec![],
|
||||
})
|
||||
.run(client.clone(), task_manager.spawn_handle())
|
||||
.boxed(),
|
||||
})?;
|
||||
task_manager.spawn_handle().spawn(
|
||||
"offchain-workers-runner",
|
||||
"offchain-worker",
|
||||
offchain_workers.run(client.clone(), task_manager.spawn_handle()).boxed(),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -259,6 +261,7 @@ pub fn new_full<Network: sc_network::NetworkBackend<Block, <Block as BlockT>::Ha
|
||||
authorship_future,
|
||||
);
|
||||
},
|
||||
_ => {},
|
||||
}
|
||||
|
||||
network_starter.start_network();
|
||||
|
||||
Reference in New Issue
Block a user