Pietro0hz
Signed-off-by: pietro0hz <petros1111@gmail.com>
This commit is contained in:
		
							parent
							
								
									18c6094e3f
								
							
						
					
					
						commit
						c65d412091
					
				
							
								
								
									
										3
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										3
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @ -1186,7 +1186,7 @@ dependencies = [ | ||||
| 
 | ||||
| [[package]] | ||||
| name = "casper-runtime" | ||||
| version = "3.5.19" | ||||
| version = "3.5.18" | ||||
| dependencies = [ | ||||
|  "casper-runtime-constants", | ||||
|  "frame-benchmarking", | ||||
| @ -1203,6 +1203,7 @@ dependencies = [ | ||||
|  "ghost-networks", | ||||
|  "ghost-runtime-common", | ||||
|  "ghost-slow-clap", | ||||
|  "hex-literal", | ||||
|  "log", | ||||
|  "pallet-alliance", | ||||
|  "pallet-authority-discovery", | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| [package] | ||||
| name = "ghost-cli" | ||||
| description = "Implementation of the Ghost Client Node in Rust" | ||||
| description = "Implementation of a Ghost Client Node in Rust" | ||||
| version.workspace = true | ||||
| edition.workspace = true | ||||
| authors.workspace = true | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| [package] | ||||
| name = "casper-runtime" | ||||
| version = "3.5.19" | ||||
| version = "3.5.18" | ||||
| build = "build.rs" | ||||
| description = "Runtime of the Casper Network" | ||||
| edition.workspace = true | ||||
| @ -17,6 +17,7 @@ codec = { features = ["derive", "max-encoded-len"], workspace = true } | ||||
| scale-info = { features = ["derive"], workspace = true } | ||||
| log = { workspace = true } | ||||
| serde_json = { workspace = true } | ||||
| hex-literal = { workspace = true, default-features = true } | ||||
| 
 | ||||
| frame-support = { workspace = true } | ||||
| frame-system = { workspace = true } | ||||
|  | ||||
| @ -214,6 +214,141 @@ fn testnet_config_genesis( | ||||
|     }) | ||||
| } | ||||
| 
 | ||||
| // staging
 | ||||
| fn casper_staging_config_genesis() -> serde_json::Value { | ||||
|     use hex_literal::hex; | ||||
|     use sp_core::crypto::UncheckedInto; | ||||
| 
 | ||||
|     // Following keys are used in genesis config for testing (casper) chains.
 | ||||
|     // DO NOT use them in production chains such as ghost.
 | ||||
|     let endowed_accounts = vec![ | ||||
|         // sfErNwRgZ6ypB7wY8M2smXMZjxqUkc2TgUcNvC1JNQJFXS8bw
 | ||||
|         hex!["328d3b7c3046ef7700937d99fb2e98ce2591682c2b5dcf3f562e4da157650237"].into(), | ||||
|         // sfEwRjyvEQcpRQ1qbCZum27nEkTggKEt7DtqxwyYQULt9UuUN
 | ||||
|         hex!["3666e4e19f87bb8680495f31864ce1f1c69d4178002cc01911aef2cc7313f203"].into(), | ||||
|         // sfHcJxw5cgkvukZZyxcNUMCdbm9e7773orByLrGgAREka81TK
 | ||||
|         hex!["ac871e8bab00dd56ba3a1c0bd289357203dcaf10010b0b04ad7472870cd22a3c"].into(), | ||||
|     ]; | ||||
| 
 | ||||
|     let initial_authorities: Vec<( | ||||
|         AccountId, | ||||
|         AccountId, | ||||
|         BabeId, | ||||
|         GrandpaId, | ||||
|         AuthorityDiscoveryId, | ||||
|         SlowClapId, | ||||
|     )> = vec![ | ||||
|         ( | ||||
|             // sfFXZmnDVnkQ781J2gbqUpi7K5KgMWMdM4eeii74xxGgKYnNN
 | ||||
|             hex!["507045c82be367f95408466cd054ca39bfa52697a3ef22809af14cf9de304f02"].into(), | ||||
|             // sfFXZmnDVnkQ781J2gbqUpi7K5KgMWMdM4eeii74xxGgKYnNN
 | ||||
|             hex!["507045c82be367f95408466cd054ca39bfa52697a3ef22809af14cf9de304f02"].into(), | ||||
|             // sfJeojACBa7WiH6tBwikBKAMU2oKmseEBD1GYUYATvfWuLcPa
 | ||||
|             hex!["daaaaab6a6e574099e24ae9bb75b543610edef9d374fa85a378edb573b47615f"].unchecked_into(), | ||||
|             // sfFdtzNxJdeEkgHxvk144rJKxf7wcYvgX5tqfgZRutW9YvAKE
 | ||||
|             hex!["55446f9a7aa99ced06b317c80ce90d56b84e56526775683af2525969e8da0b64"].unchecked_into(), | ||||
|             // sfE8gsMYAjAJHk5gyYZN7AW6pfmJ7V9H7xxWto24nmhzCUXaQ
 | ||||
|             hex!["12c14850562021eb99f58f90ab624fb6cfaf3ac9228a92f8b60115fe6a6af15a"].unchecked_into(), | ||||
|             // sfE3GKSrKZzrZpdapJ2VGRpPor45T4D4i8QBZNumSNGqGv7PX
 | ||||
|             hex!["0e9e698c7b2bf5ce3861cb4bc4ddf9e200237c282025b093ada850d764d12a35"].unchecked_into(), | ||||
|         ), | ||||
|         ( | ||||
|             // sfHLqWNC4hMKHhwvPWmWcxZsDPhCTQKgh1Ap7pm3qML5GBTBa
 | ||||
|             hex!["a0ba0196e6ee7e6b5b0553035c5cb5c04e9725001b5732839d0529cbc00c9600"].into(), | ||||
|             // sfHLqWNC4hMKHhwvPWmWcxZsDPhCTQKgh1Ap7pm3qML5GBTBa
 | ||||
|             hex!["a0ba0196e6ee7e6b5b0553035c5cb5c04e9725001b5732839d0529cbc00c9600"].into(), | ||||
|             // sfGA6tPPF8dAc8QpMCMjxitG3j8sXPhkdpm5bwz4UsXAApUiw
 | ||||
|             hex!["6c4dd88b43e2011cf9a6a73d53446336ac9e04cdd4ca23587df63187ac455e49"].unchecked_into(), | ||||
|             // sfGxQZXFUQH1AXv82rpjiJHFs7YsdEuVGdyvKiS2Tajpvw6Se
 | ||||
|             hex!["8f9ea20bf4a807a8e710f7559dece86e94672b5b361de157bdaa5c1f37849f8d"].unchecked_into(), | ||||
|             // sfGz2enFUR22cQ5ey61MdtPqbCeEWZA1wsCFFSLGaK7vKnv8C
 | ||||
|             hex!["90db5ed339a559ed157995a48d781f44c7df972dfba4bc855e4b59fa46438e17"].unchecked_into(), | ||||
|             // sfEtwe5BoroNjkdLsvnjnMemUKiw8MS1X4YW8bepbbGvhS4LZ
 | ||||
|             hex!["3481cdcbcf37a4669c29a78cf9ceb39383a10ef0a18b36b92d149fdd0c24ae00"].unchecked_into(), | ||||
|         ), | ||||
|         ( | ||||
|             // sfGq75CrCrkcfqNzyyidu3D4jW3AoJSzL5tKKuv1UbS16ezzy
 | ||||
|             hex!["8a0d0b66e827bf20e79f9a499317e73925ce4f422371067edfab690e43857f13"].into(), | ||||
|             // sfGq75CrCrkcfqNzyyidu3D4jW3AoJSzL5tKKuv1UbS16ezzy
 | ||||
|             hex!["8a0d0b66e827bf20e79f9a499317e73925ce4f422371067edfab690e43857f13"].into(), | ||||
|             // sfJo2ogBpssRAU9ZPTvuXFZEdmJw9pKsPydLjXe8DypRScjzT
 | ||||
|             hex!["e0f0a776ecc9fa5e1f22e2fa001fe3fba5aea52b9444bc894b45589d42132475"].unchecked_into(), | ||||
|             // sfHq3EVT1sqY7o5ki3zA6LEdRDfdFc29YaZN3w2Thhz6JD5ZF
 | ||||
|             hex!["b63c5a0cf342b9b04931bc8ed74d7d0165ab99ab5f8a4514797d4b299a4501fe"].unchecked_into(), | ||||
|             // sfEj3wrDy9EDLCAodyEdQEYxJpNnM8Etaj3RJ5bCBRzdaDced
 | ||||
|             hex!["2cf69452e9f2a8457119139408884941ed50f590c0fc0f2b044c4d82c69e4245"].unchecked_into(), | ||||
|             // sfE32RmBp1xX4KRTphVGLUJBxLGPN3Dzg9BwCJktxMf3iEwck
 | ||||
|             hex!["0e6fa6934f9e99fa84874f2ed9318825a0d5443a0ced984acfbd24ece72ba55e"].unchecked_into(), | ||||
|         ), | ||||
|     ]; | ||||
| 
 | ||||
|     let ghost_accounts: Vec<(AccountId, u128, u8)> = casper_testnet_evm_accounts(); | ||||
|     let evm_networks = casper_testnet_evm_networks(); | ||||
| 
 | ||||
|     const ENDOWMENT: u128 = 5_000 * CSPR; | ||||
|     const STASH: u128 = 500 * CSPR; | ||||
| 
 | ||||
|     serde_json::json!({ | ||||
|         "balances": { | ||||
|             "balances": endowed_accounts | ||||
|                 .iter() | ||||
|                 .map(|k: &AccountId| (k.clone(), ENDOWMENT)) | ||||
|                 .chain(initial_authorities.iter().map(|x| (x.0.clone(), STASH))) | ||||
|                 .collect::<Vec<_>>(), | ||||
|         }, | ||||
|         "session": { | ||||
|             "keys": initial_authorities | ||||
|                 .iter() | ||||
|                 .map(|x| { | ||||
|                     ( | ||||
|                         x.0.clone(), | ||||
|                         x.0.clone(), | ||||
|                         casper_session_keys( | ||||
|                             x.2.clone(), | ||||
|                             x.3.clone(), | ||||
|                             x.4.clone(), | ||||
|                             x.5.clone(), | ||||
|                         ), | ||||
|                     ) | ||||
|                 }) | ||||
|                 .collect::<Vec<_>>(), | ||||
|         }, | ||||
|         "staking": { | ||||
|             "validatorCount": 50, | ||||
|             "minimumValidatorCount": 4, | ||||
|             "stakers": initial_authorities | ||||
|                 .iter() | ||||
|                 .map(|x| { | ||||
|                     ( | ||||
|                         x.0.clone(), 
 | ||||
|                         x.0.clone(), 
 | ||||
|                         STASH, 
 | ||||
|                         StakerStatus::<AccountId>::Validator, | ||||
|                     ) | ||||
|                 }) | ||||
|                 .collect::<Vec<_>>(), | ||||
|             "invulnerables": initial_authorities.iter().map(|x| x.0.clone()).collect::<Vec<_>>(), | ||||
|             "forceEra": Forcing::ForceNone, | ||||
|             "slashRewardFraction": Perbill::from_percent(10) | ||||
|         }, | ||||
|         "babe": { | ||||
|             "epochConfig": Some(BABE_GENESIS_EPOCH_CONFIG), | ||||
|         }, | ||||
|         "ghostNetworks": { | ||||
|             "networks": evm_networks, | ||||
|         }, | ||||
|         "ghostClaims": { | ||||
|             "total": ghost_accounts | ||||
|                 .iter() | ||||
|                 .fold(0, |acc, k| acc + k.1), | ||||
|             "membersAndRanks": ghost_accounts | ||||
|                 .iter() | ||||
|                 .map(|k| (k.0.clone(), k.2.clone())) | ||||
|                 .collect::<Vec<_>>(), | ||||
|         }, | ||||
|     }) | ||||
| } | ||||
| 
 | ||||
| // development
 | ||||
| fn casper_development_config_genesis() -> serde_json::Value { | ||||
|     testnet_config_genesis( | ||||
| @ -237,6 +372,7 @@ fn casper_local_config_genesis() -> serde_json::Value { | ||||
| pub fn get_preset(id: &sp_genesis_builder::PresetId) -> Option<sp_std::vec::Vec<u8>> { | ||||
|     let patch = match id.try_into() { | ||||
|         Ok("development") => casper_development_config_genesis(), | ||||
|         Ok("staging") => casper_staging_config_genesis(), | ||||
|         Ok("local_testnet") => casper_local_config_genesis(), | ||||
|         _ => return None, | ||||
|     }; | ||||
| @ -250,5 +386,6 @@ pub fn preset_names() -> Vec<sp_genesis_builder::PresetId> { | ||||
|     Vec::from([ | ||||
|         sp_genesis_builder::PresetId::from("local_testnet"), 
 | ||||
|         sp_genesis_builder::PresetId::from("development"), 
 | ||||
|         sp_genesis_builder::PresetId::from("staging"), 
 | ||||
|     ]) | ||||
| } | ||||
|  | ||||
| @ -289,17 +289,13 @@ if [ $UNIT_FILE = true ]; then | ||||
|         echo "[!] user ghost not found" | ||||
|         if prompt "[?] do you want to create ghost user? (NOT RECOMMENDED: current $(whoami))"; then  | ||||
|             sudo useradd --system --create-home $user_name | ||||
|             if [ ! -d $BASE_PATH ]; then | ||||
|                 echo "[+] create folder for the node at '$BASE_PATH'" | ||||
|                 sudo mkdir $BASE_PATH | ||||
|             fi | ||||
|         else | ||||
|             user_name=$(whoami) | ||||
|         fi | ||||
|     fi | ||||
| 
 | ||||
|     if [ ! -d $BASE_PATH ]; then | ||||
|         echo "[+] create folder for the node at '$BASE_PATH'" | ||||
|         sudo mkdir $BASE_PATH | ||||
|     fi | ||||
| 
 | ||||
|     if [ -z "$(stat -c "%U %G" $BASE_PATH | grep $user_name)" ]; then | ||||
|         echo "[+] make $user_name owner of $BASE_PATH" | ||||
|         sudo chown -R "$user_name:" $BASE_PATH | ||||
|     fi | ||||
|  | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user
	 pietro0hz
						pietro0hz