Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions ansible/ansible.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
ansible_managed = Ansible managed. Don't change this file manually. Template info: {{{{ (template_fullpath | replace(playbook_dir,'')) }}}}
stdout_callback = default
callback_result_format = yaml
inventory = inventories/devnet-9/inventory.ini
inventory = inventories/devnet-10/inventory.ini
roles_path = vendor/roles/:roles
collections_path = vendor/collections
forks = 100
forks = 400
timeout = 60
retry_files_enabled = False
host_key_checking = False
Expand All @@ -22,7 +22,7 @@ fact_caching = jsonfile
# Keep facts forever
fact_caching_timeout = 43200
# Where to store the fact cache
fact_caching_connection = tmp/devnet-9/
fact_caching_connection = tmp/devnet-10/

[inventory]
enable_plugins = script, yaml, ini
Expand All @@ -32,9 +32,8 @@ ssh_args = -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s
pipelining = true

[mitogen]
# Optional: Adjust the size of the connection pool (default is 16)
# Increase if you have many hosts
# mitogen_pool_size = 32
# The connection pool size is not configurable here: mitogen reads only the
# MITOGEN_POOL_SIZE env var (default 32). Prefix the run to raise it.

# Optional: Use fork isolation for better module compatibility (default is fork)
# mitogen_task_isolation = fork
253 changes: 253 additions & 0 deletions ansible/inventories/devnet-10/files/genesis-config/cl/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,253 @@
# Mainnet config

# Extends the mainnet preset
PRESET_BASE: '$PRESET_BASE'

# Free-form short name of the network that this configuration applies to - known
# canonical network names include:
# * 'mainnet' - there can be only one
# * 'sepolia' - testnet
# * 'holesky' - testnet
# * 'hoodi' - testnet
# Must match the regex: [a-z0-9\-]
CONFIG_NAME: 'testnet' # needs to exist because of Prysm. Otherwise it conflicts with mainnet genesis

# Transition
# ---------------------------------------------------------------
# Estimated on Sept 15, 2022
TERMINAL_TOTAL_DIFFICULTY: $TERMINAL_TOTAL_DIFFICULTY
# By default, don't use these params
TERMINAL_BLOCK_HASH: 0x0000000000000000000000000000000000000000000000000000000000000000
TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH: 18446744073709551615

# Genesis
# ---------------------------------------------------------------
# `2**14` (= 16,384)
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: $NUMBER_OF_VALIDATORS
#HUMAN_TIME_PLACEHOLDER
MIN_GENESIS_TIME: $GENESIS_TIMESTAMP
# Mainnet initial fork version, recommend altering for testnets
GENESIS_FORK_VERSION: $GENESIS_FORK_VERSION
# Some seconds
GENESIS_DELAY: $GENESIS_DELAY

# Forking
# ---------------------------------------------------------------
# Some forks are disabled for now:
# - These may be re-assigned to another fork-version later
# - Temporarily set to max uint64 value: 2**64 - 1

# Altair
ALTAIR_FORK_VERSION: $ALTAIR_FORK_VERSION
ALTAIR_FORK_EPOCH: $ALTAIR_FORK_EPOCH
# Merge
BELLATRIX_FORK_VERSION: $BELLATRIX_FORK_VERSION
BELLATRIX_FORK_EPOCH: $BELLATRIX_FORK_EPOCH
# Capella
CAPELLA_FORK_VERSION: $CAPELLA_FORK_VERSION
CAPELLA_FORK_EPOCH: $CAPELLA_FORK_EPOCH
# Deneb
DENEB_FORK_VERSION: $DENEB_FORK_VERSION
DENEB_FORK_EPOCH: $DENEB_FORK_EPOCH
# Electra
ELECTRA_FORK_VERSION: $ELECTRA_FORK_VERSION
ELECTRA_FORK_EPOCH: $ELECTRA_FORK_EPOCH
# Fulu
FULU_FORK_VERSION: $FULU_FORK_VERSION
FULU_FORK_EPOCH: $FULU_FORK_EPOCH
# Gloas
GLOAS_FORK_VERSION: $GLOAS_FORK_VERSION
GLOAS_FORK_EPOCH: $GLOAS_FORK_EPOCH
# Heze
HEZE_FORK_VERSION: $HEZE_FORK_VERSION
HEZE_FORK_EPOCH: $HEZE_FORK_EPOCH

# Time parameters
# ---------------------------------------------------------------
# 12000 milliseconds
# Rounds per epoch = SLOTS_PER_EPOCH / SLOTS_PER_ROUND. The committee
# shuffle repeats every round: the attestation-traffic multiplier.
SLOTS_PER_ROUND: $SLOTS_PER_ROUND
# How far into the slot an available attestation is due, in basis
# points. The head-timing sweep axis.
AVAILABLE_ATTESTATION_DUE_BPS_HEZE: $AVAILABLE_ATTESTATION_DUE_BPS_HEZE
# Random bytes added to each gossiped block and each available attestation.
# The message-size sweep axes.
CONSENSUS_BLOCK_SCRATCH_SPACE: $CONSENSUS_BLOCK_SCRATCH_SPACE
GOLDFISH_SCRATCH_SPACE: $GOLDFISH_SCRATCH_SPACE
# ~3000-validator committees at every scale; small runs floor to one per slot.
TARGET_COMMITTEE_SIZE: $TARGET_COMMITTEE_SIZE
TARGET_AGGREGATORS_PER_COMMITTEE: $TARGET_AGGREGATORS_PER_COMMITTEE
SLOT_DURATION_MS: $SLOT_DURATION_MS
# 14 (estimate from Eth1 mainnet)
SECONDS_PER_ETH1_BLOCK: $SECONDS_PER_ETH1_BLOCK
# 2**8 (= 256) epochs ~27 hours
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: $MIN_VALIDATOR_WITHDRAWABILITY_DELAY
# 2**8 (= 256) epochs ~27 hours
SHARD_COMMITTEE_PERIOD: $SHARD_COMMITTEE_PERIOD
# 2**11 (= 2,048) Eth1 blocks ~8 hours
ETH1_FOLLOW_DISTANCE: $ETH1_FOLLOW_DISTANCE
# 1667 basis points, ~17% of SLOT_DURATION_MS
PROPOSER_REORG_CUTOFF_BPS: 1667
# 3333 basis points, ~33% of SLOT_DURATION_MS
ATTESTATION_DUE_BPS: 3333
# 6667 basis points, ~67% of SLOT_DURATION_MS
AGGREGATE_DUE_BPS: 6667

# Altair
# 3333 basis points, ~33% of SLOT_DURATION_MS
SYNC_MESSAGE_DUE_BPS: 3333
# 6667 basis points, ~67% of SLOT_DURATION_MS
CONTRIBUTION_DUE_BPS: 6667

# Gloas
# 2**13 (= 8,192) epochs
MIN_BUILDER_WITHDRAWABILITY_DELAY: $MIN_BUILDER_WITHDRAWABILITY_DELAY
# 2500 basis points, 25% of SLOT_DURATION_MS
ATTESTATION_DUE_BPS_GLOAS: $ATTESTATION_DUE_BPS_GLOAS
# 5000 basis points, 50% of SLOT_DURATION_MS
AGGREGATE_DUE_BPS_GLOAS: $AGGREGATE_DUE_BPS_GLOAS
# 2500 basis points, 25% of SLOT_DURATION_MS
SYNC_MESSAGE_DUE_BPS_GLOAS: $SYNC_MESSAGE_DUE_BPS_GLOAS
# 5000 basis points, 50% of SLOT_DURATION_MS
CONTRIBUTION_DUE_BPS_GLOAS: $CONTRIBUTION_DUE_BPS_GLOAS
# 5000 basis points, 50% of SLOT_DURATION_MS
PAYLOAD_DUE_BPS: $PAYLOAD_DUE_BPS
# 7500 basis points, 75% of SLOT_DURATION_MS
PAYLOAD_ATTESTATION_DUE_BPS: $PAYLOAD_ATTESTATION_DUE_BPS

# Heze
# 6667 basis points, ~67% of SLOT_DURATION_MS
INCLUSION_LIST_DUE_BPS: 6667

# Validator cycle
# ---------------------------------------------------------------
# 2**2 (= 4)
INACTIVITY_SCORE_BIAS: 4
# 2**4 (= 16)
INACTIVITY_SCORE_RECOVERY_RATE: 16
# 2**4 * 10**9 (= 16,000,000,000) Gwei
EJECTION_BALANCE: $EJECTION_BALANCE
# 2**2 (= 4)
MIN_PER_EPOCH_CHURN_LIMIT: $MIN_PER_EPOCH_CHURN_LIMIT
# 2**16 (= 65,536)
CHURN_LIMIT_QUOTIENT: $CHURN_LIMIT_QUOTIENT

# Deneb
# 2**3 (= 8) (*deprecated*)
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT: $MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT

# Electra
# 2**7 * 10**9 (= 128,000,000,000) Gwei
MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: $MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA
# 2**8 * 10**9 (= 256,000,000,000) Gwei
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: $MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT

# Gloas
# 2**15 (= 32,768)
CHURN_LIMIT_QUOTIENT_GLOAS: $CHURN_LIMIT_QUOTIENT_GLOAS
# 2**16 (= 65,536)
CONSOLIDATION_CHURN_LIMIT_QUOTIENT: $CONSOLIDATION_CHURN_LIMIT_QUOTIENT
# 2**8 * 10**9 (= 256,000,000,000) Gwei
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT_GLOAS: $MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT_GLOAS

# Fork choice
# ---------------------------------------------------------------
# 40%
PROPOSER_SCORE_BOOST: 40
# 20%
REORG_HEAD_WEIGHT_THRESHOLD: 20
# 160%
REORG_PARENT_WEIGHT_THRESHOLD: 160
# `2` epochs
REORG_MAX_EPOCHS_SINCE_FINALIZATION: 2

# Deposit contract
# ---------------------------------------------------------------
# Ethereum PoW Mainnet
DEPOSIT_CHAIN_ID: $CHAIN_ID
DEPOSIT_NETWORK_ID: $CHAIN_ID
DEPOSIT_CONTRACT_ADDRESS: $DEPOSIT_CONTRACT_ADDRESS

# Networking
# ---------------------------------------------------------------
# `10 * 2**20` (= 10485760, 10 MiB)
MAX_PAYLOAD_SIZE: $MAX_PAYLOAD_SIZE
# 2**10 (= 1,024) blocks
MAX_REQUEST_BLOCKS: 1024
# 2**8 (= 256) epochs
EPOCHS_PER_SUBNET_SUBSCRIPTION: 256
# 2**5 (= 32) slots
ATTESTATION_PROPAGATION_SLOT_RANGE: 32
# 500ms
MAXIMUM_GOSSIP_CLOCK_DISPARITY: 500
MESSAGE_DOMAIN_INVALID_SNAPPY: 0x00000000
MESSAGE_DOMAIN_VALID_SNAPPY: 0x01000000
# Subnet count must equal the committee count per slot
# (validators / SLOTS_PER_ROUND / TARGET_COMMITTEE_SIZE, min 1): one
# committee -> one subnet -> every node observes every raw FFG vote
# instead of a 1/64 sample. Never hardcode either value.
SUBNETS_PER_NODE: $SUBNETS_PER_NODE
ATTESTATION_SUBNET_COUNT: $ATTESTATION_SUBNET_COUNT
# 0 bits
ATTESTATION_SUBNET_EXTRA_BITS: 0

# Deneb
# 2**7 (= 128) blocks
MAX_REQUEST_BLOCKS_DENEB: $MAX_REQUEST_BLOCKS_DENEB
# 2**12 (= 4,096) epochs
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: $MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS
# 6 subnets
BLOB_SIDECAR_SUBNET_COUNT: 6
# 6 blobs
MAX_BLOBS_PER_BLOCK: 6

# Electra
# 9 subnets
BLOB_SIDECAR_SUBNET_COUNT_ELECTRA: $MAX_BLOBS_PER_BLOCK_ELECTRA
# 9 blobs
MAX_BLOBS_PER_BLOCK_ELECTRA: $MAX_BLOBS_PER_BLOCK_ELECTRA

# Fulu
# 2**7 (= 128) groups
NUMBER_OF_CUSTODY_GROUPS: 128
# 2**7 (= 128) subnets
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128
# 2**3 (= 8) samples
SAMPLES_PER_SLOT: $SAMPLES_PER_SLOT
# 2**2 (= 4) sidecars
CUSTODY_REQUIREMENT: $CUSTODY_REQUIREMENT
# 2**3 (= 8) sidecars
VALIDATOR_CUSTODY_REQUIREMENT: 8
# 2**5 * 10**9 (= 32,000,000,000) Gwei
BALANCE_PER_ADDITIONAL_CUSTODY_GROUP: 32000000000
# 2**12 (= 4,096) epochs
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS: $MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS

# Gloas
# 2**7 (= 128) payloads
MAX_REQUEST_PAYLOADS: 128

# Heze
# 2**4 (= 16) inclusion lists
MAX_REQUEST_INCLUSION_LIST: 16
# 1 slots
MIN_SLOTS_FOR_INCLUSION_LISTS_REQUESTS: 1
# 2**13 (= 8,192) bytes
MAX_TRANSACTIONS_BYTES_PER_INCLUSION_LIST: 8192


# Blob Scheduling
# ---------------------------------------------------------------

BLOB_SCHEDULE: []

# Gas Limit Scheduling (EIP-8261)
# ---------------------------------------------------------------

GAS_LIMIT_SCHEDULE: []

# Fast Confirmation Rule
# ---------------------------------------------------------------
# 25%
CONFIRMATION_BYZANTINE_THRESHOLD: $CONFIRMATION_BYZANTINE_THRESHOLD
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
- mnemonic: "${EL_AND_CL_MNEMONIC}" # a 24 word BIP 39 mnemonic
name: "main-mnemonic"
start: 0 # account index to start from
count: $NUMBER_OF_VALIDATORS
wd_address: $WITHDRAWAL_ADDRESS
wd_prefix: $WITHDRAWAL_TYPE # 0x00=BLS, 0x01=execution address, 0x02=compounding, 0xB0=builder (EIP-7732)
balance: $VALIDATOR_BALANCE
status: 0 # 0: active, 1: slashed, 2: exited
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
mnemonic: ${EL_AND_CL_MNEMONIC}
el_premine: {}
el_premine_addrs: ${EL_PREMINE_ADDRS}
additional_preloaded_contracts: ${ADDITIONAL_PRELOADED_CONTRACTS}
Loading
Loading