@@ -14,17 +14,6 @@ use sp_runtime::traits::{Verify, IdentifyAccount};
1414/// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type.
1515pub type ChainSpec = sc_service:: GenericChainSpec < GenesisConfig > ;
1616
17- /// The chain specification option. This is expected to come in from the CLI and
18- /// is little more than one of a number of alternatives which can easily be converted
19- /// from a string (`--chain=...`) into a `ChainSpec`.
20- #[ derive( Clone , Debug ) ]
21- pub enum Alternative {
22- /// Whatever the current runtime is, with just Alice as an auth.
23- Development ,
24- /// Whatever the current runtime is, with simple Alice/Bob auths.
25- LocalTestnet ,
26- }
27-
2817/// Helper function to generate a crypto pair from seed
2918pub fn get_from_seed < TPublic : Public > ( seed : & str ) -> <TPublic :: Pair as Pair >:: Public {
3019 TPublic :: Pair :: from_string ( & format ! ( "//{}" , seed) , None )
@@ -42,80 +31,70 @@ pub fn get_account_id_from_seed<TPublic: Public>(seed: &str) -> AccountId where
4231}
4332
4433/// Helper function to generate an authority key for Aura
45- pub fn get_authority_keys_from_seed ( s : & str ) -> ( AuraId , GrandpaId ) {
34+ pub fn authority_keys_from_seed ( s : & str ) -> ( AuraId , GrandpaId ) {
4635 (
4736 get_from_seed :: < AuraId > ( s) ,
4837 get_from_seed :: < GrandpaId > ( s) ,
4938 )
5039}
5140
52- impl Alternative {
53- /// Get an actual chain config from one of the alternatives.
54- pub ( crate ) fn load ( self ) -> Result < ChainSpec , String > {
55- Ok ( match self {
56- Alternative :: Development => ChainSpec :: from_genesis (
57- "Development" ,
58- "dev" ,
59- || testnet_genesis (
60- vec ! [
61- get_authority_keys_from_seed( "Alice" ) ,
62- ] ,
63- get_account_id_from_seed :: < sr25519:: Public > ( "Alice" ) ,
64- vec ! [
65- get_account_id_from_seed:: <sr25519:: Public >( "Alice" ) ,
66- get_account_id_from_seed:: <sr25519:: Public >( "Bob" ) ,
67- get_account_id_from_seed:: <sr25519:: Public >( "Alice//stash" ) ,
68- get_account_id_from_seed:: <sr25519:: Public >( "Bob//stash" ) ,
69- ] ,
70- true ,
71- ) ,
72- vec ! [ ] ,
73- None ,
74- None ,
75- None ,
76- None
77- ) ,
78- Alternative :: LocalTestnet => ChainSpec :: from_genesis (
79- "Local Testnet" ,
80- "local_testnet" ,
81- || testnet_genesis (
82- vec ! [
83- get_authority_keys_from_seed( "Alice" ) ,
84- get_authority_keys_from_seed( "Bob" ) ,
85- ] ,
86- get_account_id_from_seed :: < sr25519:: Public > ( "Alice" ) ,
87- vec ! [
88- get_account_id_from_seed:: <sr25519:: Public >( "Alice" ) ,
89- get_account_id_from_seed:: <sr25519:: Public >( "Bob" ) ,
90- get_account_id_from_seed:: <sr25519:: Public >( "Charlie" ) ,
91- get_account_id_from_seed:: <sr25519:: Public >( "Dave" ) ,
92- get_account_id_from_seed:: <sr25519:: Public >( "Eve" ) ,
93- get_account_id_from_seed:: <sr25519:: Public >( "Ferdie" ) ,
94- get_account_id_from_seed:: <sr25519:: Public >( "Alice//stash" ) ,
95- get_account_id_from_seed:: <sr25519:: Public >( "Bob//stash" ) ,
96- get_account_id_from_seed:: <sr25519:: Public >( "Charlie//stash" ) ,
97- get_account_id_from_seed:: <sr25519:: Public >( "Dave//stash" ) ,
98- get_account_id_from_seed:: <sr25519:: Public >( "Eve//stash" ) ,
99- get_account_id_from_seed:: <sr25519:: Public >( "Ferdie//stash" ) ,
100- ] ,
101- true ,
102- ) ,
103- vec ! [ ] ,
104- None ,
105- None ,
106- None ,
107- None
108- ) ,
109- } )
110- }
41+ pub fn development_config ( ) -> ChainSpec {
42+ ChainSpec :: from_genesis (
43+ "Development" ,
44+ "dev" ,
45+ || testnet_genesis (
46+ vec ! [
47+ authority_keys_from_seed( "Alice" ) ,
48+ ] ,
49+ get_account_id_from_seed :: < sr25519:: Public > ( "Alice" ) ,
50+ vec ! [
51+ get_account_id_from_seed:: <sr25519:: Public >( "Alice" ) ,
52+ get_account_id_from_seed:: <sr25519:: Public >( "Bob" ) ,
53+ get_account_id_from_seed:: <sr25519:: Public >( "Alice//stash" ) ,
54+ get_account_id_from_seed:: <sr25519:: Public >( "Bob//stash" ) ,
55+ ] ,
56+ true ,
57+ ) ,
58+ vec ! [ ] ,
59+ None ,
60+ None ,
61+ None ,
62+ None ,
63+ )
64+ }
11165
112- pub ( crate ) fn from ( s : & str ) -> Option < Self > {
113- match s {
114- "dev" => Some ( Alternative :: Development ) ,
115- "" | "local" => Some ( Alternative :: LocalTestnet ) ,
116- _ => None ,
117- }
118- }
66+ pub fn local_testnet_config ( ) -> ChainSpec {
67+ ChainSpec :: from_genesis (
68+ "Local Testnet" ,
69+ "local_testnet" ,
70+ || testnet_genesis (
71+ vec ! [
72+ authority_keys_from_seed( "Alice" ) ,
73+ authority_keys_from_seed( "Bob" ) ,
74+ ] ,
75+ get_account_id_from_seed :: < sr25519:: Public > ( "Alice" ) ,
76+ vec ! [
77+ get_account_id_from_seed:: <sr25519:: Public >( "Alice" ) ,
78+ get_account_id_from_seed:: <sr25519:: Public >( "Bob" ) ,
79+ get_account_id_from_seed:: <sr25519:: Public >( "Charlie" ) ,
80+ get_account_id_from_seed:: <sr25519:: Public >( "Dave" ) ,
81+ get_account_id_from_seed:: <sr25519:: Public >( "Eve" ) ,
82+ get_account_id_from_seed:: <sr25519:: Public >( "Ferdie" ) ,
83+ get_account_id_from_seed:: <sr25519:: Public >( "Alice//stash" ) ,
84+ get_account_id_from_seed:: <sr25519:: Public >( "Bob//stash" ) ,
85+ get_account_id_from_seed:: <sr25519:: Public >( "Charlie//stash" ) ,
86+ get_account_id_from_seed:: <sr25519:: Public >( "Dave//stash" ) ,
87+ get_account_id_from_seed:: <sr25519:: Public >( "Eve//stash" ) ,
88+ get_account_id_from_seed:: <sr25519:: Public >( "Ferdie//stash" ) ,
89+ ] ,
90+ true ,
91+ ) ,
92+ vec ! [ ] ,
93+ None ,
94+ None ,
95+ None ,
96+ None ,
97+ )
11998}
12099
121100fn testnet_genesis ( initial_authorities : Vec < ( AuraId , GrandpaId ) > ,
@@ -141,10 +120,3 @@ fn testnet_genesis(initial_authorities: Vec<(AuraId, GrandpaId)>,
141120 } ) ,
142121 }
143122}
144-
145- pub fn load_spec ( id : & str ) -> Result < Box < dyn sc_service:: ChainSpec > , String > {
146- Ok ( match Alternative :: from ( id) {
147- Some ( spec) => Box :: new ( spec. load ( ) ?) ,
148- None => Box :: new ( ChainSpec :: from_json_file ( std:: path:: PathBuf :: from ( id) ) ?) ,
149- } )
150- }
0 commit comments