Files
pezkuwi-subxt/substrate/test-utils/chain-spec-builder/src/main.rs
T
Tomasz Drwięga 667ee95f5d ChainSpec extensions (#3692)
* Add some chainspec tests and make sure we validate it.

* Manual implementation of Extension + Forks definitions.

* Move chain spec to separate crate.

* Allow using ChainSpec with extensions.

* Renames.

* Implement Extension derive.

* Implement Extension for Forks.

* Support specifying fork blocks.

* make for_blocks work

* Support forks correctly.

* Add a bunch of docs.

* Make fork blocks optional.

* Add missing docs.

* Fix build.

* Use struct for check_block params.

* Fix tests?

* Clean up.
2019-09-29 01:05:36 +08:00

50 lines
1.1 KiB
Rust

use clap::{App, load_yaml};
use node_cli::chain_spec::{self, AccountId};
use substrate_service::chain_ops::build_spec;
fn genesis_constructor() -> chain_spec::GenesisConfig {
let yaml = load_yaml!("./cli.yml");
let matches = App::from_yaml(yaml).get_matches();
let authorities = matches.values_of("initial_authority_seed")
.unwrap()
.map(chain_spec::get_authority_keys_from_seed)
.collect();
let endowed_accounts = matches.values_of("endowed_account_seed")
.unwrap()
.map(chain_spec::get_from_seed::<AccountId>)
.collect();
let sudo_key_seed = matches.value_of("sudo_key_seed").unwrap();
let sudo_key = chain_spec::get_from_seed::<AccountId>(sudo_key_seed);
let enable_println = true;
chain_spec::testnet_genesis(
authorities,
sudo_key.into(),
Some(endowed_accounts),
enable_println,
)
}
fn generate_chain_spec() -> String {
let chain_spec = chain_spec::ChainSpec::from_genesis(
"Custom",
"custom",
genesis_constructor,
vec![],
None,
None,
None,
Default::default(),
);
build_spec(chain_spec, false).unwrap()
}
fn main() {
let json = generate_chain_spec();
println!("{}", json);
}