Skip to content

Commit

Permalink
Merge pull request JoshOrndorff#32 from substrate-developer-hub/ricar…
Browse files Browse the repository at this point in the history
…do-alpha6

Update to alpha.6
  • Loading branch information
JoshOrndorff authored Apr 15, 2020
2 parents 4be00bd + c1b33f8 commit 6aa91b6
Show file tree
Hide file tree
Showing 13 changed files with 986 additions and 1,039 deletions.
1,563 changes: 761 additions & 802 deletions Cargo.lock

Large diffs are not rendered by default.

5 changes: 2 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
[profile.release]
panic = 'unwind'

[workspace]
members = [
'node',
'pallets/template',
'runtime',
]
[profile.release]
panic = 'unwind'
61 changes: 29 additions & 32 deletions node/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,81 +1,78 @@
[package]
authors = ['Anonymous']
build = 'build.rs'
description = 'Substrate Node template'
edition = '2018'
homepage = 'https://substrate.dev'
license = 'Unlicense'
name = 'node-template'
repository = 'https://github.com/paritytech/substrate/'
version = '2.0.0-alpha.5'
version = '2.0.0-alpha.6'

[build-dependencies]
vergen = '3.0.4'

[build-dependencies.build-script-utils]
package = 'substrate-build-script-utils'
version = '2.0.0-alpha.5'
[package.metadata.docs.rs]
targets = ['x86_64-unknown-linux-gnu']

[dependencies]
futures = '0.3.1'
futures = '0.3.4'
log = '0.4.8'
structopt = '0.3.8'

[dependencies.grandpa]
package = 'sc-finality-grandpa'
version = '0.8.0-alpha.5'

[dependencies.grandpa-primitives]
package = 'sp-finality-grandpa'
version = '2.0.0-alpha.5'

[dependencies.node-template-runtime]
path = '../runtime'
version = '2.0.0-alpha.5'
version = '2.0.0-alpha.6'

[dependencies.sc-basic-authorship]
version = '0.8.0-alpha.5'
version = '0.8.0-alpha.6'

[dependencies.sc-cli]
version = '0.8.0-alpha.5'
version = '0.8.0-alpha.6'

[dependencies.sc-client]
version = '0.8.0-alpha.5'
version = '0.8.0-alpha.6'

[dependencies.sc-client-api]
version = '2.0.0-alpha.5'
version = '2.0.0-alpha.6'

[dependencies.sc-consensus-aura]
version = '0.8.0-alpha.5'
version = '0.8.0-alpha.6'

[dependencies.sc-executor]
version = '0.8.0-alpha.5'
version = '0.8.0-alpha.6'

[dependencies.sc-finality-grandpa]
version = '0.8.0-alpha.6'

[dependencies.sc-network]
version = '0.8.0-alpha.5'
version = '0.8.0-alpha.6'

[dependencies.sc-service]
version = '0.8.0-alpha.5'
version = '0.8.0-alpha.6'

[dependencies.sc-transaction-pool]
version = '2.0.0-alpha.5'
version = '2.0.0-alpha.6'

[dependencies.sp-consensus]
version = '0.8.0-alpha.5'
version = '0.8.0-alpha.6'

[dependencies.sp-consensus-aura]
version = '0.8.0-alpha.5'
version = '0.8.0-alpha.6'

[dependencies.sp-core]
version = '2.0.0-alpha.5'
version = '2.0.0-alpha.6'

[dependencies.sp-finality-grandpa]
version = '2.0.0-alpha.6'

[dependencies.sp-inherents]
version = '2.0.0-alpha.5'
version = '2.0.0-alpha.6'

[dependencies.sp-runtime]
version = '2.0.0-alpha.5'
version = '2.0.0-alpha.6'

[dependencies.sp-transaction-pool]
version = '2.0.0-alpha.5'
version = '2.0.0-alpha.6'
[build-dependencies.substrate-build-script-utils]
version = '2.0.0-alpha.6'

[[bin]]
name = 'node-template'
8 changes: 3 additions & 5 deletions node/build.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
use vergen::{ConstantsFlags, generate_cargo_keys};

const ERROR_MSG: &str = "Failed to generate metadata files";
use substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed};

fn main() {
generate_cargo_keys(ConstantsFlags::SHA_SHORT).expect(ERROR_MSG);
generate_cargo_keys();

build_script_utils::rerun_if_git_head_changed();
rerun_if_git_head_changed();
}
150 changes: 62 additions & 88 deletions node/src/chain_spec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,17 @@ use node_template_runtime::{
AccountId, AuraConfig, BalancesConfig, GenesisConfig, GrandpaConfig,
SudoConfig, SystemConfig, WASM_BINARY, Signature
};
use sp_consensus_aura::sr25519::{AuthorityId as AuraId};
use grandpa_primitives::{AuthorityId as GrandpaId};
use sc_service;
use sp_consensus_aura::sr25519::AuthorityId as AuraId;
use sp_finality_grandpa::AuthorityId as GrandpaId;
use sp_runtime::traits::{Verify, IdentifyAccount};
use sc_service::ChainType;

// Note this is the URL for the telemetry server
//const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/";

/// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type.
pub type ChainSpec = sc_service::GenericChainSpec<GenesisConfig>;

/// The chain specification option. This is expected to come in from the CLI and
/// is little more than one of a number of alternatives which can easily be converted
/// from a string (`--chain=...`) into a `ChainSpec`.
#[derive(Clone, Debug)]
pub enum Alternative {
/// Whatever the current runtime is, with just Alice as an auth.
Development,
/// Whatever the current runtime is, with simple Alice/Bob auths.
LocalTestnet,
}

/// Helper function to generate a crypto pair from seed
pub fn get_from_seed<TPublic: Public>(seed: &str) -> <TPublic::Pair as Pair>::Public {
TPublic::Pair::from_string(&format!("//{}", seed), None)
Expand All @@ -42,80 +31,72 @@ pub fn get_account_id_from_seed<TPublic: Public>(seed: &str) -> AccountId where
}

/// Helper function to generate an authority key for Aura
pub fn get_authority_keys_from_seed(s: &str) -> (AuraId, GrandpaId) {
pub fn authority_keys_from_seed(s: &str) -> (AuraId, GrandpaId) {
(
get_from_seed::<AuraId>(s),
get_from_seed::<GrandpaId>(s),
)
}

impl Alternative {
/// Get an actual chain config from one of the alternatives.
pub(crate) fn load(self) -> Result<ChainSpec, String> {
Ok(match self {
Alternative::Development => ChainSpec::from_genesis(
"Development",
"dev",
|| testnet_genesis(
vec![
get_authority_keys_from_seed("Alice"),
],
get_account_id_from_seed::<sr25519::Public>("Alice"),
vec![
get_account_id_from_seed::<sr25519::Public>("Alice"),
get_account_id_from_seed::<sr25519::Public>("Bob"),
get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
],
true,
),
vec![],
None,
None,
None,
None
),
Alternative::LocalTestnet => ChainSpec::from_genesis(
"Local Testnet",
"local_testnet",
|| testnet_genesis(
vec![
get_authority_keys_from_seed("Alice"),
get_authority_keys_from_seed("Bob"),
],
get_account_id_from_seed::<sr25519::Public>("Alice"),
vec![
get_account_id_from_seed::<sr25519::Public>("Alice"),
get_account_id_from_seed::<sr25519::Public>("Bob"),
get_account_id_from_seed::<sr25519::Public>("Charlie"),
get_account_id_from_seed::<sr25519::Public>("Dave"),
get_account_id_from_seed::<sr25519::Public>("Eve"),
get_account_id_from_seed::<sr25519::Public>("Ferdie"),
get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
],
true,
),
vec![],
None,
None,
None,
None
),
})
}
pub fn development_config() -> ChainSpec {
ChainSpec::from_genesis(
"Development",
"dev",
ChainType::Development,
|| testnet_genesis(
vec![
authority_keys_from_seed("Alice"),
],
get_account_id_from_seed::<sr25519::Public>("Alice"),
vec![
get_account_id_from_seed::<sr25519::Public>("Alice"),
get_account_id_from_seed::<sr25519::Public>("Bob"),
get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
],
true,
),
vec![],
None,
None,
None,
None,
)
}

pub(crate) fn from(s: &str) -> Option<Self> {
match s {
"dev" => Some(Alternative::Development),
"" | "local" => Some(Alternative::LocalTestnet),
_ => None,
}
}
pub fn local_testnet_config() -> ChainSpec {
ChainSpec::from_genesis(
"Local Testnet",
"local_testnet",
ChainType::Local,
|| testnet_genesis(
vec![
authority_keys_from_seed("Alice"),
authority_keys_from_seed("Bob"),
],
get_account_id_from_seed::<sr25519::Public>("Alice"),
vec![
get_account_id_from_seed::<sr25519::Public>("Alice"),
get_account_id_from_seed::<sr25519::Public>("Bob"),
get_account_id_from_seed::<sr25519::Public>("Charlie"),
get_account_id_from_seed::<sr25519::Public>("Dave"),
get_account_id_from_seed::<sr25519::Public>("Eve"),
get_account_id_from_seed::<sr25519::Public>("Ferdie"),
get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
],
true,
),
vec![],
None,
None,
None,
None,
)
}

fn testnet_genesis(initial_authorities: Vec<(AuraId, GrandpaId)>,
Expand All @@ -141,10 +122,3 @@ fn testnet_genesis(initial_authorities: Vec<(AuraId, GrandpaId)>,
}),
}
}

pub fn load_spec(id: &str) -> Result<Box<dyn sc_service::ChainSpec>, String> {
Ok(match Alternative::from(id) {
Some(spec) => Box::new(spec.load()?),
None => Box::new(ChainSpec::from_json_file(std::path::PathBuf::from(id))?),
})
}
Loading

0 comments on commit 6aa91b6

Please sign in to comment.