From 9c2eae0ff0f90a04e4ccbd8a46379bd6bd868ab4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Bizjak?= Date: Sun, 1 Oct 2023 13:54:14 +0200 Subject: [PATCH] Add P6 single baker configuration. --- .../examples/single-baker-example-p6.toml | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 genesis-creator/examples/single-baker-example-p6.toml diff --git a/genesis-creator/examples/single-baker-example-p6.toml b/genesis-creator/examples/single-baker-example-p6.toml new file mode 100644 index 00000000..0fb93107 --- /dev/null +++ b/genesis-creator/examples/single-baker-example-p6.toml @@ -0,0 +1,141 @@ +# An example genesis configuration for a single baker at protocol version 6. +# This creates a genesis with +# - 1 baker with 3_000_000_000 CCD staked out of 3_500_000_000 CCD total +# - a foundation account with 10_000_000_000 CCD +# - 100 extra accounts with 2_000_000 CCD each +# - mininum block time set for 2s + +protocolVersion = "6" + +[out] +updateKeys = "./update-keys" +accountKeys = "./accounts" +bakerKeys = "./bakers" +identityProviders = "./idps" +anonymityRevokers = "./ars" +genesis = "./genesis.dat" +cryptographicParameters = "./global" +deleteExisting = true +genesisHash = "./genesis_hash" + +[cryptographicParameters] +kind = "generate" +genesisString = "Local genesis parameters." + +[[anonymityRevokers]] +kind = "fresh" +id = 1 +repeat = 3 + +[[identityProviders]] +kind = "fresh" +id = 0 +repeat = 3 + +# the baker account +[[accounts]] +kind = "fresh" +balance = "3500000000000000" +stake = "3000000000000000" +template = "baker" +identityProvider = 0 +numKeys = 1 +threshold = 1 +repeat = 1 + +# the foundation account +[[accounts]] +kind = "fresh" +balance = "10000000000000000" +template = "foundation" +identityProvider = 0 +numKeys = 1 +threshold = 1 +repeat = 1 +foundation = true + +# the extra accounts +[[accounts]] +kind = "fresh" +balance = "2000000000000" +template = "stagenet" +identityProvider = 0 +numKeys = 1 +threshold = 1 +repeat = 100 + +# update key configuration +[updates] +root = { threshold = 5, keys = [{kind = "fresh", repeat = 7}]} +level1 = { threshold = 7, keys = [{kind = "fresh", repeat = 15}]} + +[updates.level2] +keys = [{kind = "fresh", repeat = 7}] # 7 keys in total +emergency = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +protocol = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +electionDifficulty = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +euroPerEnergy = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +microCCDPerEuro = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +foundationAccount = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +mintDistribution = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +transactionFeeDistribution = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +gasRewards = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +poolParameters = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +addAnonymityRevoker = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +addIdentityProvider = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +cooldownParameters = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} +timeParameters = {authorizedKeys = [0,1,2,3,4,5,6], threshold = 7} + +[parameters] +# Default genesis time to current time. +# genesisTime = "2022-11-11T11:00:00Z" # +leadershipElectionNonce = "d1bc8d3ba4afc7e109612cb73acbdddac052c93025aa1f82942edabb7deb82a1" +maxBlockEnergy = 3_000_000 +epochDuration = "1h" # Meaning 1 hour. +signatureThreshold = {numerator = 2, denominator = 3} # Must be between 2/3 and 1. + +[parameters.finalization] +minimumSkip = 0 +committeeMaxSize = 1000 +waitingTime = 100 # in milliseconds +skipShrinkFactor = 0.5 +skipGrowFactor = 2 +delayShrinkFactor = 0.5 +delayGrowFactor = 2 +allowZeroDelay = true + +[parameters.chain] +version = "v1" +minBlockTime = "2s" # Meaning 2 seconds. +euroPerEnergy = 0.000001 +microCCDPerEuro = 100_000_000 +accountCreationLimit = 10 +blockEnergyLimit = 3_000_000 +[parameters.chain.finalizationCommitteeParameters] +minFinalizers = 5 +maxFinalizers = 5 +finalizersRelativeStakeThreshold = 200 # parts per hundred thousand (n / 100000). +[parameters.chain.timeParameters] +rewardPeriodLength = 4 # 4 epochs +mintPerPayday = 2.61157877e-4 +[parameters.chain.poolParameters] +passiveFinalizationCommission = 1.0 +passiveBakingCommission = 0.1 +passiveTransactionCommission = 0.1 +finalizationCommissionRange = {min = 0.5,max = 1.0} +bakingCommissionRange = {min = 0.05,max = 0.1} +transactionCommissionRange = {min = 0.05,max = 0.2} +minimumEquityCapital = "100" +capitalBound = 0.25 +leverageBound = {numerator = 3, denominator = 1} +[parameters.chain.cooldownParameters] +poolOwnerCooldown = 3600 # in seconds +delegatorCooldown = 1800 # in seconds +[parameters.chain.rewardParameters] +mintDistribution = { bakingReward = 0.6, finalizationReward = 0.3 } +transactionFeeDistribution = { baker = 0.45, gasAccount = 0.45 } +gASRewards = { baker = 0.25, finalizationProof = 0.005, accountCreation = 0.02, chainUpdate = 0.005 } +[parameters.chain.timeoutParameters] +base = "2s" # Meaning 2 seconds +increase = 1.2 # Must be greater than 1. +decrease = 0.8 # Must be between 0 and 1.