Skip to main content

Reference

The following tables break down each configuration section and field available for customizing your devnet. Use these references to understand the structure, defaults, and purpose of every option.

tip

For the latest defaults and advanced options, always refer to the source code in src/config/input_parser.star.

L1 Configuration

To customize the L1 devnet, include an ethereum_package property in your args file. The available options mirror those from the ethereum-package. For the complete YAML schema and default values, refer to the ethereum-package configuration documentation.

params.yml
ethereum_package:
participants:
- cl_type: lighthouse
el_type: geth
network_params:
preset: minimal
seconds_per_slot: 1

participants

FieldTypeDefaultDescription
cl_typestringlighthouseConsensus Layer (CL) client type
cl_imagestringsigp/lighthouse:v8.0.0-rc.0Image for the CL client
el_typestringgethExecution Layer (EL) client type
el_imagestringethereum/client-go:v1.16.4Image for the EL client

network_params

FieldTypeDefaultDescription
presetstringminimalNetwork preset, useful for rapid testing and development
seconds_per_slotint1Number of seconds per slot on the Beacon chain

L2 Configuration

To customize the L2 devnet, include a polygon_pos_package property in your args file.

params.yml
polygon_pos_package:
participants:
- kind: validator
cl_type: heimdall-v2
el_type: bor
count: 2
network_params:
el_block_interval_seconds: 2
el_gas_limit: 45_000_000
additional_services:
- observability

participants

Default: a single validator.

FieldTypeDefaultDescription
kindstringvalidatorRole of the node in the network: validator or rpc
cl_typestringheimdall-v2Consensus Layer (CL) client type
cl_imagestring0xpolygon/heimdall-v2:0.3.1Image for the CL client
cl_db_imagestringrabbitmq:4.1.4Image for the CL database
cl_log_levelstringinfoLog level for the CL client
cl_min_retain_blocksint0Minimal distance from current height to retain height
cl_compact_enabledboolfalseCompaction enabling.
cl_compaction_intervalint1000Minimal blocks necessary to run a new compaction routine
cl_storage_pruning_intervalstring1m0sInterval between prune routines.
cl_indexer_pruning_enabledboolfalsePruning enabling.
el_typestringborExecution Layer (EL) client type
el_imagestring0xpolygon/bor:2.2.11Image for the EL client
el_log_levelstringinfoLog level for the EL client
countint1Number of nodes to spin up for this participant

setup_images

FieldTypeDefaultDescription
contract_deployerstringeurope-west2-docker.pkg.dev/prj-polygonlabs-devtools-dev/public/pos-contract-deployer:d96d592Image used to deploy MATIC contracts to L1
el_genesis_builderstringeurope-west2-docker.pkg.dev/prj-polygonlabs-devtools-dev/public/pos-el-genesis-builder:96a19ddImage used to create the L2 EL genesis file
validator_config_generatorstringeurope-west2-docker.pkg.dev/prj-polygonlabs-devtools-dev/public/pos-validator-config-generator:0.3.1Image used to generate validator configs

network_params

tip

You can check the admin private key and mnemonic default values at src/config/input_parser.star.

FieldTypeDefaultDescription
admin_private_keystring0xd403...60eaPrivate key used to deploy Polygon PoS contracts on both L1 and L2
preregistered_validator_keys_mnemonicstringsibling lend brave ...Mnemonic for validator keystores
validator_stake_amount_ethint10000Amount of ether to stake for each validator
validator_top_up_fee_amount_ethint2000Top up fee amount in ether for each validator
cl_chain_idstringheimdall-4927CL network ID
cl_environmentstringmainnetCL environment
cl_span_poll_intervalstring0m15sSpan poll interval on the CL chain
cl_checkpoint_poll_intervalstring1m0sCheckpoint poll interval on the CL chain
cl_max_age_num_blocksint100000Genesis evidence setting, useful to set smaller pruning intervals
el_chain_idstring"4927"EL network ID
el_block_interval_secondsint1Seconds per block on the EL chain
el_sprint_durationint16Duration of an EL sprint (blocks)
el_span_durationint128Duration of an EL span (blocks).
el_gas_limitint45_000_000EL gas limit

additional_services

The additional_services array lets you enable optional tools and utilities alongside your devnet. These are not configuration options themselves, but rather extra services you can include by listing their names in the array.

ServiceDescription
blockscoutBlockchain explorer for viewing blocks, transactions, and accounts - Coming soon
bridge_spammerBridge funds from L1 to L2 to simulate network load
observabilityMonitoring stack: deploys Prometheus, Grafana, and Panoptichain
test_runnerRun agglayer/e2e end-to-end tests against the devnet
tx_spammerSend transactions to the network to simulate load
status_checkerPerform fegular status checks to track and monitor the health of the network

test_runner_params

FieldTypeDefaultDescription
imagestringeurope-west2-docker.pkg.dev/prj-polygonlabs-devtools-dev/public/e2e:9cf122dImage used to deploy the test runner - used to run agglayer/e2e tests.

status_checker_params

FieldTypeDefaultDescription
imagestringeurope-west2-docker.pkg.dev/prj-polygonlabs-devtools-dev/public/status-checker:0.2.9Image used to deploy the status checker.