Skip to content

Commit

Permalink
Add P6 single baker configuration.
Browse files Browse the repository at this point in the history
  • Loading branch information
abizjak committed Oct 1, 2023
1 parent ba33230 commit 9c2eae0
Showing 1 changed file with 141 additions and 0 deletions.
141 changes: 141 additions & 0 deletions genesis-creator/examples/single-baker-example-p6.toml
Original file line number Diff line number Diff line change
@@ -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.

0 comments on commit 9c2eae0

Please sign in to comment.