mirror of
https://git.ghostchain.io/proxmio/ghost-node.git
synced 2025-12-27 03:09:56 +00:00
Compare commits
1 Commits
Kermodeii1
...
neptune-ke
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f529f224dd |
3
Cargo.lock
generated
3
Cargo.lock
generated
@@ -1186,7 +1186,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "casper-runtime"
|
name = "casper-runtime"
|
||||||
version = "3.5.19"
|
version = "3.5.18"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"casper-runtime-constants",
|
"casper-runtime-constants",
|
||||||
"frame-benchmarking",
|
"frame-benchmarking",
|
||||||
@@ -1203,6 +1203,7 @@ dependencies = [
|
|||||||
"ghost-networks",
|
"ghost-networks",
|
||||||
"ghost-runtime-common",
|
"ghost-runtime-common",
|
||||||
"ghost-slow-clap",
|
"ghost-slow-clap",
|
||||||
|
"hex-literal",
|
||||||
"log",
|
"log",
|
||||||
"pallet-alliance",
|
"pallet-alliance",
|
||||||
"pallet-authority-discovery",
|
"pallet-authority-discovery",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "ghost-cli"
|
name = "ghost-cli"
|
||||||
description = "Implementation of the Ghost Client Node in Rust"
|
description = "Implementation of a Ghost Client Node in Rust"
|
||||||
version.workspace = true
|
version.workspace = true
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
authors.workspace = true
|
authors.workspace = true
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "casper-runtime"
|
name = "casper-runtime"
|
||||||
version = "3.5.19"
|
version = "3.5.18"
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
description = "Runtime of the Casper Network"
|
description = "Runtime of the Casper Network"
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
@@ -17,6 +17,7 @@ codec = { features = ["derive", "max-encoded-len"], workspace = true }
|
|||||||
scale-info = { features = ["derive"], workspace = true }
|
scale-info = { features = ["derive"], workspace = true }
|
||||||
log = { workspace = true }
|
log = { workspace = true }
|
||||||
serde_json = { workspace = true }
|
serde_json = { workspace = true }
|
||||||
|
hex-literal = { workspace = true, default-features = true }
|
||||||
|
|
||||||
frame-support = { workspace = true }
|
frame-support = { workspace = true }
|
||||||
frame-system = { 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
|
// development
|
||||||
fn casper_development_config_genesis() -> serde_json::Value {
|
fn casper_development_config_genesis() -> serde_json::Value {
|
||||||
testnet_config_genesis(
|
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>> {
|
pub fn get_preset(id: &sp_genesis_builder::PresetId) -> Option<sp_std::vec::Vec<u8>> {
|
||||||
let patch = match id.try_into() {
|
let patch = match id.try_into() {
|
||||||
Ok("development") => casper_development_config_genesis(),
|
Ok("development") => casper_development_config_genesis(),
|
||||||
|
Ok("staging") => casper_staging_config_genesis(),
|
||||||
Ok("local_testnet") => casper_local_config_genesis(),
|
Ok("local_testnet") => casper_local_config_genesis(),
|
||||||
_ => return None,
|
_ => return None,
|
||||||
};
|
};
|
||||||
@@ -250,5 +386,6 @@ pub fn preset_names() -> Vec<sp_genesis_builder::PresetId> {
|
|||||||
Vec::from([
|
Vec::from([
|
||||||
sp_genesis_builder::PresetId::from("local_testnet"),
|
sp_genesis_builder::PresetId::from("local_testnet"),
|
||||||
sp_genesis_builder::PresetId::from("development"),
|
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"
|
echo "[!] user ghost not found"
|
||||||
if prompt "[?] do you want to create ghost user? (NOT RECOMMENDED: current $(whoami))"; then
|
if prompt "[?] do you want to create ghost user? (NOT RECOMMENDED: current $(whoami))"; then
|
||||||
sudo useradd --system --create-home $user_name
|
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
|
else
|
||||||
user_name=$(whoami)
|
user_name=$(whoami)
|
||||||
fi
|
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"
|
echo "[+] make $user_name owner of $BASE_PATH"
|
||||||
sudo chown -R "$user_name:" $BASE_PATH
|
sudo chown -R "$user_name:" $BASE_PATH
|
||||||
fi
|
fi
|
||||||
@@ -370,8 +366,7 @@ if [[ $ARGUMENTS = true ]]; then
|
|||||||
CLI_ARGS+=("--no-mdns")
|
CLI_ARGS+=("--no-mdns")
|
||||||
CLI_ARGS+=("--no-hardware-benchmarks")
|
CLI_ARGS+=("--no-hardware-benchmarks")
|
||||||
|
|
||||||
echo "[+] trying to save new node arguments"
|
echo "[+] trying to save GHOST_CLI_ARGS=\"$(IFS=' '; echo "${CLI_ARGS[*]}")\"" > /tmp/ghost
|
||||||
echo "GHOST_CLI_ARGS=\"$(IFS=' '; echo "${CLI_ARGS[*]}")\"" > /tmp/ghost
|
|
||||||
sudo cp /tmp/ghost /etc/default/ghost
|
sudo cp /tmp/ghost /etc/default/ghost
|
||||||
rm /tmp/ghost
|
rm /tmp/ghost
|
||||||
echo "[+] new CLI arguments stored in '/etc/default/ghost'"
|
echo "[+] new CLI arguments stored in '/etc/default/ghost'"
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -38,13 +38,12 @@ Public key (hex) for babe : 0xe0f0a776ecc9fa5e1f22e2fa001fe3fba5aea52b9444bc894
|
|||||||
Public key (hex) for slow : 0x0e6fa6934f9e99fa84874f2ed9318825a0d5443a0ced984acfbd24ece72ba55e
|
Public key (hex) for slow : 0x0e6fa6934f9e99fa84874f2ed9318825a0d5443a0ced984acfbd24ece72ba55e
|
||||||
Public key (hex) for gran : 0xb63c5a0cf342b9b04931bc8ed74d7d0165ab99ab5f8a4514797d4b299a4501fe
|
Public key (hex) for gran : 0xb63c5a0cf342b9b04931bc8ed74d7d0165ab99ab5f8a4514797d4b299a4501fe
|
||||||
|
|
||||||
### Kermodeii ###
|
### Neptune 2 ###
|
||||||
Local identity : 12D3KooWBwTs6bPs4q9uM5FbFN5ZQp9Ekj2otkSx9fh9YCQz52Gg
|
Local identity : 12D3KooWPQXpz8UM9uBsB7pcv12pLCLbYdk8W3SHrZBgiju2fbAs
|
||||||
Public key (hex) wallet : 0xd8df1f8278bbb74abbb44131ccafd969eeb59a69fe794ed1aff54d43053a500a
|
Public key (hex) wallet : 0x425ccd7bda4f5c76788ba23bc0381d7a2e496179c93301208c57501c80a4232a
|
||||||
==========================================================================================>
|
===============================================================================================
|
||||||
Public key (hex) stash : 0x70bc32c60407d6144b0ea33f5fa2fc41226332c7adf0bac87031b8caf6bf6265
|
Public key (hex) stash : 0x6c0283f4c688f0e75ad546c790bbd5961c1a6931543aa589f368f8272c44b758
|
||||||
Public key (hex) audi : 0xc626f8f7a2973656a5bfcdf373779a5a001206b8e10dc42db06e5fd159b0697f
|
Public key (hex) audi : 0x00946618c353e4c6546b87f9ca1089b846b0ea4658ee8e6d9d1200c24cb5ee27
|
||||||
Public key (hex) babe : 0x4eb96ea7120000b26dfd883e299abd88cf447e52972acdd345880cd453ecb014
|
Public key (hex) babe : 0x74fa7381a7a74b316afb6793a00387eed9d95d46a69866cbb316b5d9c918af0e
|
||||||
Public key (hex) slow : 0x748137d3a529e97f5b5dc95e0525875412fb977cedfd913474494205c63a8c25
|
Public key (hex) slow : 0x520e74f8c5853ec8577932327ad3247656db25b74c79ad09adb431b271002401
|
||||||
Public key (hex) gran : 0x0937d375b18aa5010b1a70f46b7d6c01f82d117eafa122e26281e0e9c7b9339d
|
Public key (hex) gran : 0x236d2fa03f4ed8cb65de7e514d7540159b328f1c170dd402b094ad7fbf547218
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user