mirror of
https://github.com/mimblewimble/grin.git
synced 2025-02-01 17:01:09 +03:00
First config setup for T3, dummy genesis
This commit is contained in:
parent
551e9b13ad
commit
1adffb5603
3 changed files with 46 additions and 7 deletions
|
@ -74,9 +74,7 @@ pub fn genesis_testnet1() -> core::Block {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Second testnet genesis block (cuckoo30). TBD and don't start getting excited
|
/// Second testnet genesis block (cuckoo30).
|
||||||
/// just because you see this reference here... this is for testing mining
|
|
||||||
/// at cuckoo 30
|
|
||||||
pub fn genesis_testnet2() -> core::Block {
|
pub fn genesis_testnet2() -> core::Block {
|
||||||
core::Block {
|
core::Block {
|
||||||
header: core::BlockHeader {
|
header: core::BlockHeader {
|
||||||
|
@ -107,6 +105,37 @@ pub fn genesis_testnet2() -> core::Block {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Second testnet genesis block (cuckoo30). Temporary values for now.
|
||||||
|
pub fn genesis_testnet3() -> core::Block {
|
||||||
|
core::Block {
|
||||||
|
header: core::BlockHeader {
|
||||||
|
height: 0,
|
||||||
|
previous: core::hash::Hash([0xff; 32]),
|
||||||
|
timestamp: time::Tm {
|
||||||
|
tm_year: 2018 - 1900,
|
||||||
|
tm_mon: 6,
|
||||||
|
tm_mday: 2,
|
||||||
|
tm_hour: 0,
|
||||||
|
..time::empty_tm()
|
||||||
|
},
|
||||||
|
total_difficulty: Difficulty::from_num(global::initial_block_difficulty()),
|
||||||
|
nonce: 1060,
|
||||||
|
pow: core::Proof::new(vec![
|
||||||
|
0x1940730, 0x333b9d0, 0x4739d6f, 0x4c6cfb1, 0x6e3d6c3, 0x74408a3, 0x7ba2bd2,
|
||||||
|
0x83e2024, 0x8ca22b5, 0x9d39ab8, 0xb6646dd, 0xc6698b6, 0xc6f78fe, 0xc99b662,
|
||||||
|
0xcf2ae8c, 0xcf41eed, 0xdd073e6, 0xded6af8, 0xf08d1a5, 0x1156a144, 0x11d1160a,
|
||||||
|
0x131bb0a5, 0x137ad703, 0x13b0831f, 0x1421683f, 0x147e3c1f, 0x1496fda0, 0x150ba22b,
|
||||||
|
0x15cc5bc6, 0x16edf697, 0x17ced40c, 0x17d84f9e, 0x18a515c1, 0x19320d9c, 0x19da4f6d,
|
||||||
|
0x1b50bcb1, 0x1b8bc72f, 0x1c7b6964, 0x1d07b3a9, 0x1d189d4d, 0x1d1f9a15, 0x1dafcd41,
|
||||||
|
]),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
inputs: vec![],
|
||||||
|
outputs: vec![],
|
||||||
|
kernels: vec![],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Placeholder for mainnet genesis block, will definitely change before
|
/// Placeholder for mainnet genesis block, will definitely change before
|
||||||
/// release so no use trying to pre-mine it.
|
/// release so no use trying to pre-mine it.
|
||||||
pub fn genesis_main() -> core::Block {
|
pub fn genesis_main() -> core::Block {
|
||||||
|
|
|
@ -59,22 +59,24 @@ pub const TESTING_INITIAL_DIFFICULTY: u64 = 1;
|
||||||
/// Testnet 2 initial block difficulty, high to see how it goes
|
/// Testnet 2 initial block difficulty, high to see how it goes
|
||||||
pub const TESTNET2_INITIAL_DIFFICULTY: u64 = 1000;
|
pub const TESTNET2_INITIAL_DIFFICULTY: u64 = 1000;
|
||||||
|
|
||||||
|
/// Testnet 2 initial block difficulty, moderatly hight, taking into account
|
||||||
|
/// a 30x Cuckoo adjustment factor
|
||||||
|
pub const TESTNET3_INITIAL_DIFFICULTY: u64 = 15000;
|
||||||
|
|
||||||
/// Types of chain a server can run with, dictates the genesis block and
|
/// Types of chain a server can run with, dictates the genesis block and
|
||||||
/// and mining parameters used.
|
/// and mining parameters used.
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||||
pub enum ChainTypes {
|
pub enum ChainTypes {
|
||||||
/// For CI testing
|
/// For CI testing
|
||||||
AutomatedTesting,
|
AutomatedTesting,
|
||||||
|
|
||||||
/// For User testing
|
/// For User testing
|
||||||
UserTesting,
|
UserTesting,
|
||||||
|
|
||||||
/// First test network
|
/// First test network
|
||||||
Testnet1,
|
Testnet1,
|
||||||
|
|
||||||
/// Second test network
|
/// Second test network
|
||||||
Testnet2,
|
Testnet2,
|
||||||
|
/// Thirs test network
|
||||||
|
Testnet3,
|
||||||
/// Main production network
|
/// Main production network
|
||||||
Mainnet,
|
Mainnet,
|
||||||
}
|
}
|
||||||
|
@ -105,6 +107,7 @@ pub fn min_sizeshift() -> u8 {
|
||||||
ChainTypes::UserTesting => USER_TESTING_MIN_SIZESHIFT,
|
ChainTypes::UserTesting => USER_TESTING_MIN_SIZESHIFT,
|
||||||
ChainTypes::Testnet1 => USER_TESTING_MIN_SIZESHIFT,
|
ChainTypes::Testnet1 => USER_TESTING_MIN_SIZESHIFT,
|
||||||
ChainTypes::Testnet2 => DEFAULT_MIN_SIZESHIFT,
|
ChainTypes::Testnet2 => DEFAULT_MIN_SIZESHIFT,
|
||||||
|
ChainTypes::Testnet3 => DEFAULT_MIN_SIZESHIFT,
|
||||||
ChainTypes::Mainnet => DEFAULT_MIN_SIZESHIFT,
|
ChainTypes::Mainnet => DEFAULT_MIN_SIZESHIFT,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -119,6 +122,7 @@ pub fn ref_sizeshift() -> u8 {
|
||||||
ChainTypes::UserTesting => USER_TESTING_MIN_SIZESHIFT,
|
ChainTypes::UserTesting => USER_TESTING_MIN_SIZESHIFT,
|
||||||
ChainTypes::Testnet1 => USER_TESTING_MIN_SIZESHIFT,
|
ChainTypes::Testnet1 => USER_TESTING_MIN_SIZESHIFT,
|
||||||
ChainTypes::Testnet2 => REFERENCE_SIZESHIFT,
|
ChainTypes::Testnet2 => REFERENCE_SIZESHIFT,
|
||||||
|
ChainTypes::Testnet3 => REFERENCE_SIZESHIFT,
|
||||||
ChainTypes::Mainnet => REFERENCE_SIZESHIFT,
|
ChainTypes::Mainnet => REFERENCE_SIZESHIFT,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -131,6 +135,7 @@ pub fn proofsize() -> usize {
|
||||||
ChainTypes::UserTesting => USER_TESTING_PROOF_SIZE,
|
ChainTypes::UserTesting => USER_TESTING_PROOF_SIZE,
|
||||||
ChainTypes::Testnet1 => PROOFSIZE,
|
ChainTypes::Testnet1 => PROOFSIZE,
|
||||||
ChainTypes::Testnet2 => PROOFSIZE,
|
ChainTypes::Testnet2 => PROOFSIZE,
|
||||||
|
ChainTypes::Testnet3 => PROOFSIZE,
|
||||||
ChainTypes::Mainnet => PROOFSIZE,
|
ChainTypes::Mainnet => PROOFSIZE,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -143,6 +148,7 @@ pub fn coinbase_maturity() -> u64 {
|
||||||
ChainTypes::UserTesting => USER_TESTING_COINBASE_MATURITY,
|
ChainTypes::UserTesting => USER_TESTING_COINBASE_MATURITY,
|
||||||
ChainTypes::Testnet1 => COINBASE_MATURITY,
|
ChainTypes::Testnet1 => COINBASE_MATURITY,
|
||||||
ChainTypes::Testnet2 => COINBASE_MATURITY,
|
ChainTypes::Testnet2 => COINBASE_MATURITY,
|
||||||
|
ChainTypes::Testnet3 => COINBASE_MATURITY,
|
||||||
ChainTypes::Mainnet => COINBASE_MATURITY,
|
ChainTypes::Mainnet => COINBASE_MATURITY,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -155,6 +161,7 @@ pub fn initial_block_difficulty() -> u64 {
|
||||||
ChainTypes::UserTesting => TESTING_INITIAL_DIFFICULTY,
|
ChainTypes::UserTesting => TESTING_INITIAL_DIFFICULTY,
|
||||||
ChainTypes::Testnet1 => TESTING_INITIAL_DIFFICULTY,
|
ChainTypes::Testnet1 => TESTING_INITIAL_DIFFICULTY,
|
||||||
ChainTypes::Testnet2 => TESTNET2_INITIAL_DIFFICULTY,
|
ChainTypes::Testnet2 => TESTNET2_INITIAL_DIFFICULTY,
|
||||||
|
ChainTypes::Testnet3 => TESTNET2_INITIAL_DIFFICULTY,
|
||||||
ChainTypes::Mainnet => INITIAL_DIFFICULTY,
|
ChainTypes::Mainnet => INITIAL_DIFFICULTY,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -167,6 +174,7 @@ pub fn cut_through_horizon() -> u32 {
|
||||||
ChainTypes::UserTesting => TESTING_CUT_THROUGH_HORIZON,
|
ChainTypes::UserTesting => TESTING_CUT_THROUGH_HORIZON,
|
||||||
ChainTypes::Testnet1 => CUT_THROUGH_HORIZON,
|
ChainTypes::Testnet1 => CUT_THROUGH_HORIZON,
|
||||||
ChainTypes::Testnet2 => CUT_THROUGH_HORIZON,
|
ChainTypes::Testnet2 => CUT_THROUGH_HORIZON,
|
||||||
|
ChainTypes::Testnet3 => CUT_THROUGH_HORIZON,
|
||||||
ChainTypes::Mainnet => CUT_THROUGH_HORIZON,
|
ChainTypes::Mainnet => CUT_THROUGH_HORIZON,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -188,6 +196,7 @@ pub fn is_production_mode() -> bool {
|
||||||
let param_ref = CHAIN_TYPE.read().unwrap();
|
let param_ref = CHAIN_TYPE.read().unwrap();
|
||||||
ChainTypes::Testnet1 == *param_ref
|
ChainTypes::Testnet1 == *param_ref
|
||||||
|| ChainTypes::Testnet2 == *param_ref
|
|| ChainTypes::Testnet2 == *param_ref
|
||||||
|
|| ChainTypes::Testnet3 == *param_ref
|
||||||
|| ChainTypes::Mainnet == *param_ref
|
|| ChainTypes::Mainnet == *param_ref
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -124,6 +124,7 @@ impl Server {
|
||||||
let genesis = match config.chain_type {
|
let genesis = match config.chain_type {
|
||||||
global::ChainTypes::Testnet1 => genesis::genesis_testnet1(),
|
global::ChainTypes::Testnet1 => genesis::genesis_testnet1(),
|
||||||
global::ChainTypes::Testnet2 => genesis::genesis_testnet2(),
|
global::ChainTypes::Testnet2 => genesis::genesis_testnet2(),
|
||||||
|
global::ChainTypes::Testnet3 => genesis::genesis_testnet3(),
|
||||||
global::ChainTypes::AutomatedTesting => genesis::genesis_dev(),
|
global::ChainTypes::AutomatedTesting => genesis::genesis_dev(),
|
||||||
global::ChainTypes::UserTesting => genesis::genesis_dev(),
|
global::ChainTypes::UserTesting => genesis::genesis_dev(),
|
||||||
global::ChainTypes::Mainnet => genesis::genesis_testnet2(), //TODO: Fix, obviously
|
global::ChainTypes::Mainnet => genesis::genesis_testnet2(), //TODO: Fix, obviously
|
||||||
|
|
Loading…
Reference in a new issue