Skip to content

Commit

Permalink
Merge pull request #1 from ethpandaops/mekong
Browse files Browse the repository at this point in the history
add testnet
  • Loading branch information
barnabasbusa authored Oct 31, 2024
2 parents b9f256e + 561f7e6 commit 2bbb930
Show file tree
Hide file tree
Showing 99 changed files with 1,600,357 additions and 352 deletions.
10 changes: 4 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
<div align="center"><img src="./docs/images/panda.png" width="300"/></div>
<h2 align="center">🐼 ❤️.oO<br>"Pandas love everything"</h2>
<h1 align="center">Infrastructure code for Dev/Testnets</h1>
<div align="center"><img src="./docs/images/panda.jpeg" width="300"/></div>
<h2 align="center">🐼 ❤️.oO<br>"Pandas love Pectra"</h2>
<h1 align="center">Infrastructure code for Testnets</h1>

<p align="center">
<a href="https://github.com/ethpandaops/template-testnet/actions/workflows/ansible_lint.yaml"><img src="https://github.com/ethpandaops/template-testnet/actions/workflows/ansible_lint.yaml/badge.svg"></a>
<a href="https://github.com/ethpandaops/template-testnet/actions/workflows/terraform_lint.yaml"><img src="https://github.com/ethpandaops/template-testnet/actions/workflows/terraform_lint.yaml/badge.svg"></a>
<a href="https://github.com/ethpandaops/template-testnet/actions/workflows/helm_lint.yaml"><img src="https://github.com/ethpandaops/template-testnet/actions/workflows/helm_lint.yaml/badge.svg"></a>
</p>

This repository contains the infrastructure code used to setup ~all~ dev/testnets. A lot of the code uses reusable components either provided by our [ansible collection](https://github.com/ethpandaops/ansible-collection-general) or our [helm charts for kubernetes](https://github.com/ethpandaops/ethereum-helm-charts/).

# Networks

Status | Network | Links | Ansible | Terraform | Kubernetes
------ | -------- | ---- | ----- | ------- | ------
🟢Template🔴 | [devnet-0](https://template.devnet.io/) | [Network config](network-configs/devnet-0) / [Inventory](https://bootnode-1.devnet-0.ethpandaops.io/meta/api/v1/inventory.json) / [Validator ranges](https://bootnode-1.devnet-0.ethpandaops.io/meta/api/v1/validator-ranges.json) | [🔗](ansible/inventories/devnet-0) | [🔗](terraform/devnet-0) | [🔗](kubernetes/devnet-0)
🟢 Mekong | [mekong](https://mekong.ethpandaops.io/) | [Network config](network-configs/devnet-0) / [Inventory](https://bootnode-1.mekong-devnet-0.ethpandaops.io/meta/api/v1/inventory.json) / [Validator ranges](https://bootnode-1.mekong-devnet-0.ethpandaops.io/meta/api/v1/validator-ranges.json) | [🔗](ansible/inventories/mekong-devnet-0) | [🔗](terraform/devnet-0) | [🔗](kubernetes/devnet-0)

# Development
## Version management for tools
Expand Down
2 changes: 1 addition & 1 deletion ansible/group_vars/all/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ ansible_python_interpreter: /usr/bin/python3
# Template name refers to the name of the devnet without number
# Generally refer to the first word of the repository name
# e.g. peerdas, or pectra
devnet_name: template
devnet_name: mekong

# IPv6 Specific configuration
global_ipv6_enabled: true
Expand Down
12 changes: 6 additions & 6 deletions ansible/inventories/devnet-0/group_vars/all/all.sops.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ secret_zerossl:
ACME_EAB_KID: ENC[AES256_GCM,data:OPsYVkpJ/ISkZcUDdZGLOcNUD2jfHg==,iv:WkDvniP4a1cjpRTQqT0MnJo9UkIp+iwJ3NPSTb8sFsU=,tag:ZjX5UFuCOd7zR9fOP0tcQg==,type:str]
ACME_EAB_HMAC_KEY: ENC[AES256_GCM,data:36+HfiQnMolcxAQHxsTEN2o0WpBYeoSFRe7RjoxnYIcsKwHrUVGNF2TtDczfXK7kZhsK2ZMuK+J4j5IfJVxsdfhJ07jJtIKGkRavo7Evb/+0IJt/sgs=,iv:Evd5W8ORLtUa3sSl6XeaqY69p0FAmpiFmjXDlP+XbUY=,tag:ZyW6rwzl2+I/bTKLeYDZyA==,type:str]
secret_prometheus_remote_write:
username: ENC[AES256_GCM,data:zpGvEsv1Lrk=,iv:OVx9miE7xFRL/rBM6dkc+hnBYqPuRJTWhhzQ4T/hsmU=,tag:o+ulpT+Hxx8pmp7O6YPdlw==,type:str]
password: ENC[AES256_GCM,data:14dBuUrGzQ==,iv:sOc8R7kQ0mxeUxTkjVIBCKhr+lvE7W2i3xfkmFlHj4U=,tag:1GhjGilrb32jr4wFVMXZ1w==,type:str]
username: ENC[AES256_GCM,data:vzcFRcNDVZwvnWOqZLAo,iv:UKW79zitj3EAKjcep3oNVHUAcFmpS1Rsi7iH6kMXLuE=,tag:rNmx5TLr8QvENsvSds+ivg==,type:str]
password: ENC[AES256_GCM,data:DI8+I6c1e982Aewxu4R//iwv5dVqwiR49eEMjC4oi6n7H+TE,iv:DKkpA4ksAtDqVlUjokKroN7EO5LJHH76JXvstl6MTYM=,tag:50cA/1bcrMtxEJ9jiy3Nlw==,type:str]
secret_loki:
endpoint: ENC[AES256_GCM,data:1p4l9AKwvQDa67LQul+2s0Z5gxyuzhpj5cb/R4fGI6JPb0qXLJBfZcP++cVV0Rlffymz6KgDb8Q=,iv:A7oFYrwv7Aszp7348IQ/9qv1RWl3oe7PigjygkV43+I=,tag:HJciMwvYT21QVVV2YfjYcw==,type:str]
username: ENC[AES256_GCM,data:ARG3BICw5Hk=,iv:LhfgXsZu5oCLMfGpGrnQTTPAO0AHkm0IxYnOcFVrs9Y=,tag:6T5zDhQRr3FIyBjoVtSbsQ==,type:str]
password: ENC[AES256_GCM,data:MWQXJxCptw==,iv:3pgpVjt4EPBREWrg/pmDYxTDwtJvBZQNNs44tDIv0/s=,tag:/ydFBPLPAo/FeC7UCQrBmg==,type:str]
username: ENC[AES256_GCM,data:5zsElY/rBdGRPyuJ2Hip,iv:lZtoyScLx3iXBE2wmkROYSLEI6O/8lq2cWR4NzOtnWI=,tag:bpH3EhuJ1A7++xcKUJ07QQ==,type:str]
password: ENC[AES256_GCM,data:E5FMZfgsiiuwySdTnaO+T++a5SztwWTqnME5GWFCvHOBSAFi,iv:nDHyrcJlA4gH5VdyWHtu1u536wPoAQJVLv23lMsZdLk=,tag:vOTKgLP80stQ8/+dWU3hZQ==,type:str]
secret_nginx_shared_basic_auth:
name: ENC[AES256_GCM,data:bjlM,iv:DiOGlqfOfrDlt7X4OGY27OYlkDDEHguv+kg1zRhBek0=,tag:ZPlucwl2PNXeXcOc8PmCBQ==,type:str]
password: ENC[AES256_GCM,data:ocIOy4nOHWVmW08S2hb7,iv:yvC4WWOOJvVeegWl0uj2P8yxcfBgNrvYSm5xUB5qux8=,tag:+8MDMeB7gKlCApMv5YrBGQ==,type:str]
Expand All @@ -32,8 +32,8 @@ sops:
azure_kv: []
hc_vault: []
age: []
lastmodified: "2024-10-08T10:47:41Z"
mac: ENC[AES256_GCM,data:jwxnRNOI6O1Gn9BOj+Te1XAJln6wpQzcjukFE4lDEc99qQZb4+do0uszwbXPfMLMJPZ3N2nKEuemNRhLvU3QPQLCrhddyBqYzqTcMs8EZL0jOgRRxbkDpw26IN1IKoaDSDZm99pXWZAXlOUA6G+ZOcX67WgwfQtOpmurhfrhZm8=,iv:iefVyjob9TMj4dh/Iq9DVLr3B2ccL29V/Acc5EXCyG4=,tag:EdxNfGKoTfezBRXrTAbCtg==,type:str]
lastmodified: "2024-10-30T11:14:40Z"
mac: ENC[AES256_GCM,data:aWWNVeN0Pe/uKPXUjCC3c45N7yvrC3NgRjEBle4wlevPziYg5n/nn8zQu/FKxzlk2ApfIons0+UzYlEkh/MmCaAdFARI5pn5zoE6x1pfhZ+Mu6622sgh8hBuZSIfBfZpkeoVZMurrSoHoKaQRfdwh/dUV6a2+i1QkSmr5SKvlys=,iv:Gbr7PP+zvcWwWzIFIl8V+AeeJL/1u6ujLjE87meKVPE=,tag:ioOzxw0A2LhdtzXxjFJDQw==,type:str]
pgp:
- created_at: "2023-09-28T11:48:21Z"
enc: |-
Expand Down
95 changes: 88 additions & 7 deletions ansible/inventories/devnet-0/group_vars/all/all.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ ethereum_genesis_generator_container_image: "{{ default_tooling_images.ethereum_
ethereum_genesis_generator_version: "{{ ethereum_genesis_generator_container_image.split(':')[-1] }}"
ethereum_genesis_network_seed: "{{ ansible_inventory_sources[0] }}"
ethereum_genesis_chain_id: "70{{ 99999999 | random(start=10000000, seed=ethereum_genesis_network_seed) }}"
ethereum_genesis_generator_output_dir: "../network-configs/{{ ethereum_network_name | replace('template-', '') }}"
ethereum_genesis_timestamp: "{{ lookup('ansible.builtin.pipe', '{{ ethereum_genesis_timestamp_relative_cmd[ansible_system] }}') }}"
ethereum_genesis_generator_output_dir: "../network-configs/{{ ethereum_network_name | replace('mekong-', '') }}"
ethereum_genesis_timestamp: "1730372340"
ethereum_genesis_timedelay: 60
ethereum_genesis_timestamp_relative_cmd:
Linux: "date +%s -d '+45 minutes'"
Expand All @@ -53,12 +53,10 @@ ethereum_genesis_generator_config_files:
values.env: |-
export CHAIN_ID="{{ ethereum_genesis_chain_id }}"
export EL_AND_CL_MNEMONIC="{{ ethereum_genesis_mnemonic }}"
export NUMBER_OF_VALIDATORS=200
export NUMBER_OF_VALIDATORS=100000
export DENEB_FORK_VERSION="0x50{{ ethereum_genesis_fork_version_suffix }}"
export ELECTRA_FORK_VERSION="0x60{{ ethereum_genesis_fork_version_suffix }}"
export ELECTRA_FORK_EPOCH="999999"
export EIP7594_FORK_VERSION="0x70{{ ethereum_genesis_fork_version_suffix }}"
export EIP7594_FORK_EPOCH="999999"
export ELECTRA_FORK_EPOCH="256"
export GENESIS_TIMESTAMP={{ ethereum_genesis_timestamp }}
export GENESIS_DELAY={{ ethereum_genesis_timedelay }}
Expand Down Expand Up @@ -116,12 +114,95 @@ ethereum_node_json_rpc_snooper_engine_port: 8561
ethereum_node_json_rpc_snooper_engine_name: "snooper-engine"

# role: ethpandaops.general.xatu_sentry
xatu_sentry_container_image: "{{ default_tooling_images.xatu_sentry }}"
xatu_sentry_config_name: "{{ ethereum_network_name }}-{{ inventory_hostname }}"
xatu_sentry_config_server_address: "{{ secret_xatu_sentry.server_address }}"
xatu_sentry_config_server_auth_user: "{{ secret_xatu_sentry.user }}"
xatu_sentry_config_server_auth_password: "{{ secret_xatu_sentry.password }}"
xatu_sentry_config_network_name_override: "{{ ethereum_network_name }}"
xatu_sentry_container_networks: "{{ docker_networks_shared }}"
xatu_sentry_container_image: "{{ default_tooling_images.xatu_sentry }}"

ethereum_node_xatu_sentry_enabled: true

xatu_sentry_container_command:
- sentry
- --config=/config.yaml

xatu_sentry_config:
logging: "info"
metricsAddr: ":9090"
name: "{{ xatu_sentry_config_name }}"
ntpServer: time.google.com
ethereum:
beaconNodeAddress: "http://{{ vars[ethereum_node_cl + '_container_name'] }}:{{ethereum_node_cl_ports_http_beacon}}"
overrideNetworkName: "{{ xatu_sentry_config_network_name_override }}"
beaconSubscriptions:
- attestation
- block
- chain_reorg
- finalized_checkpoint
- head
- voluntary_exit
- contribution_and_proof
- blob_sidecar
attestationData:
enabled: false
beaconCommittees:
enabled: false
forkChoice:
enabled: false
outputs:
- config:
address: "{{ xatu_sentry_config_server_address }}"
headers:
authorization: "Basic {{ (xatu_sentry_config_server_auth_user + ':' + xatu_sentry_config_server_auth_password) | b64encode }}"
maxExportBatchSize: 32
maxQueueSize: 50000
workers: 15
tls: true
retry:
enabled: false
filter:
eventNames:
- BEACON_API_ETH_V1_EVENTS_UNKNOWN
- BEACON_API_ETH_V1_BEACON_COMMITTEE
- BEACON_API_ETH_V1_EVENTS_BLOB_SIDECAR
- BEACON_API_ETH_V1_EVENTS_BLOCK
- BEACON_API_ETH_V1_EVENTS_BLOCK_V2
- BEACON_API_ETH_V1_EVENTS_CHAIN_REORG
- BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2
- BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT
- BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2
- BEACON_API_ETH_V1_EVENTS_HEAD
- BEACON_API_ETH_V1_EVENTS_HEAD_V2
- BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT
- BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2
- BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF
- BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2
- BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA
- MEMPOOL_TRANSACTION
- MEMPOOL_TRANSACTION_V2
- BEACON_API_ETH_V2_BEACON_BLOCK
- BEACON_API_ETH_V2_BEACON_BLOCK_V2
name: grpc-general
type: xatu
- config:
address: "{{ xatu_sentry_config_server_address }}"
headers:
authorization: "Basic {{ (xatu_sentry_config_server_auth_user + ':' + xatu_sentry_config_server_auth_password) | b64encode }}"
maxExportBatchSize: 256
maxQueueSize: 50000
workers: 25
tls: true
retry:
enabled: false
filter:
eventNames:
- BEACON_API_ETH_V1_EVENTS_ATTESTATION
- BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2
name: grpc-attestation
type: xatu


# role: ethpandaops.general.ethereum_metrics_exporter
ethereum_metrics_exporter_container_image: "{{ default_tooling_images.ethereum_metrics_exporter }}"
Expand Down
48 changes: 23 additions & 25 deletions ansible/inventories/devnet-0/group_vars/all/images.yaml
Original file line number Diff line number Diff line change
@@ -1,45 +1,43 @@
default_ethereum_client_images:
### Consensus layer clients
lighthouse: sigp/lighthouse:latest
lodestar: chainsafe/lodestar:latest
nimbus: statusim/nimbus-eth2:multiarch-latest
prysm: gcr.io/prysmaticlabs/prysm/beacon-chain:latest
prysm_validator: gcr.io/prysmaticlabs/prysm/validator:latest
teku: consensys/teku:latest
grandine: ethpandaops/grandine:develop
lighthouse: ethpandaops/lighthouse:pawan-electra-alpha7-0dd215c
lodestar: ethpandaops/lodestar:devnet-4-1531b19
nimbus: ethpandaops/nimbus-eth2:4JM-25aae76
prysm: ethpandaops/prysm-beacon-chain:develop-4aa5410
prysm_validator: ethpandaops/prysm-validator:develop-4aa5410
teku: ethpandaops/teku:master-b22b3d5
grandine: ethpandaops/grandine:pectra-devnet4--4bcbfac
### Execution layer clients
besu: hyperledger/besu:latest
geth: ethereum/client-go:stable
erigon: thorax/erigon:devel
ethereumjs: ethpandaops/ethereumjs:master
nethermind: nethermindeth/nethermind:master
reth: ethpandaops/reth:main

besu: ethpandaops/besu:pectra-devnet-4-8ab3aac
geth: ethpandaops/geth:lightclient-prague-devnet-4-37035c5
erigon: ethpandaops/erigon:pectra_e2-b3fbcc0
ethereumjs: ethpandaops/ethereumjs:7702-devnet-4-plus-t8ntool-f487448
nethermind: ethpandaops/nethermind:pectra_devnet_4-c3827bc
reth: ethpandaops/reth:main-dd18af1
nimbusel: ethpandaops/nimbus-eth1:master-fa95633

default_tooling_images:
xatu_sentry: ethpandaops/xatu:0.0.16-pectra-debian
ethereum_metrics_exporter: ethpandaops/ethereum-metrics-exporter:latest
tx_fuzz: ethpandaops/tx-fuzz:latest
tx_fuzz: ethpandaops/tx-fuzz:pr-56
forkmon: skylenet/nodemonitor:darkmode
forky: ethpandaops/forky:latest
fauceth: skylenet/fauceth:fix_fee_estimation
powfaucet: pk910/powfaucet:v2-stable
ethstats: skylenet/ethstats-server:poa-no-geoip
homepage: ethpandaops/ethereum-testnet-homepage:latest
checkpointz: ethpandaops/checkpointz:latest
blockscout: blockscout/blockscout:master
checkpointz: ethpandaops/checkpointz:0.0.5-electra-debian
blockscout: blockscout/blockscout:latest
blockscout_frontend: ghcr.io/blockscout/frontend:latest
beacon_metrics_gazer: dapplion/beacon-metrics-gazer:latest
eth_fauceth: chainflag/eth-faucet:latest
blobscan: blossomlabs/blobscan:latest
blobscan_indexer: blossomlabs/blobscan-indexer:latest
dora: ethpandaops/dora:master
dora: ethpandaops/dora:master-latest
dugtrio: ethpandaops/dugtrio:latest
ethereum_genesis_generator: ethpandaops/ethereum-genesis-generator:3.3.5
mev_boost: flashbots/mev-boost:latest
mev_relay: flashbots/mev-boost-relay:latest
mev_builder: flashbots/mev-builder:latest
tracoor: ethpandaops/tracoor:latest
ethereum_genesis_generator: ethpandaops/ethereum-genesis-generator:3.4.0
tracoor: ethpandaops/tracoor:0.0.25-debian
ncli: status-im/nimbus-eth2:unstable
lcli: sigp/lighthouse:electra-devnet-1
lcli: ethpandaops/lighthouse:unstable-a94b12blo
zcli: electra
assertoor: ethpandaops/assertoor:latest
assertoor: ethpandaops/assertoor:electra-support-latest
1 change: 0 additions & 1 deletion ansible/inventories/devnet-0/group_vars/teku.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,4 @@ teku_container_command_extra_args:
- --rest-api-docs-enabled
teku_validator_container_volumes:
- "{{ teku_validator_datadir }}:/validator-data"
- "{{ eth_testnet_config_dir }}:/network-config:ro"
teku_validator_datadir: /data/teku-validator
85 changes: 0 additions & 85 deletions ansible/inventories/devnet-0/group_vars/xatu.yaml
Original file line number Diff line number Diff line change
@@ -1,85 +0,0 @@
# role: ethpandaops.general.xatu_sentry
xatu_sentry_config_name: "{{ ethereum_network_name }}-{{ inventory_hostname }}"
xatu_sentry_config_server_address: "{{ secret_xatu_sentry.server_address }}"
xatu_sentry_config_server_auth_user: "{{ secret_xatu_sentry.user }}"
xatu_sentry_config_server_auth_password: "{{ secret_xatu_sentry.password }}"
xatu_sentry_config_network_name_override: "{{ ethereum_network_name }}"
xatu_sentry_container_networks: "{{ docker_networks_shared }}"
xatu_sentry_container_image: "{{ default_tooling_images.xatu_sentry }}"

ethereum_node_xatu_sentry_enabled: true

xatu_sentry_container_command:
- sentry
- --config=/config.yaml

xatu_sentry_config:
logging: "info"
metricsAddr: ":9090"
name: "{{ xatu_sentry_config_name }}"
ntpServer: time.google.com
ethereum:
beaconNodeAddress: "{{ vars[ethereum_node_cl + '_container_name'] }}:{{ethereum_node_cl_ports_http_beacon}}"
overrideNetworkName: "{{ xatu_sentry_config_network_name_override }}"
beaconSubscriptions:
- attestation
- block
- chain_reorg
- finalized_checkpoint
- head
- voluntary_exit
- contribution_and_proof
- blob_sidecar
attestationData:
enabled: false
beaconCommittees:
enabled: false
forkChoice:
enabled: false
outputs:
- config:
address: "{{ xatu_sentry_config_server_address }}"
headers:
authorization: "Basic {{ (xatu_sentry_config_server_auth_user + ':' + xatu_sentry_config_server_auth_password) | b64encode }}"
maxExportBatchSize: 32
maxQueueSize: 1000000
workers: 5
tls: true
filter:
eventNames:
- BEACON_API_ETH_V1_EVENTS_UNKNOWN
- BEACON_API_ETH_V1_BEACON_COMMITTEE
- BEACON_API_ETH_V1_EVENTS_BLOB_SIDECAR
- BEACON_API_ETH_V1_EVENTS_BLOCK
- BEACON_API_ETH_V1_EVENTS_BLOCK_V2
- BEACON_API_ETH_V1_EVENTS_CHAIN_REORG
- BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2
- BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT
- BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2
- BEACON_API_ETH_V1_EVENTS_HEAD
- BEACON_API_ETH_V1_EVENTS_HEAD_V2
- BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT
- BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2
- BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF
- BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2
- BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA
- MEMPOOL_TRANSACTION
- MEMPOOL_TRANSACTION_V2
- BEACON_API_ETH_V2_BEACON_BLOCK
- BEACON_API_ETH_V2_BEACON_BLOCK_V2
name: grpc-general
type: xatu
- config:
address: "{{ xatu_sentry_config_server_address }}"
headers:
authorization: "Basic {{ (xatu_sentry_config_server_auth_user + ':' + xatu_sentry_config_server_auth_password) | b64encode }}"
maxExportBatchSize: 128
maxQueueSize: 1000000
workers: 10
tls: true
filter:
eventNames:
- BEACON_API_ETH_V1_EVENTS_ATTESTATION
- BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2
name: grpc-attestation
type: xatu
1 change: 1 addition & 0 deletions ansible/inventories/devnet-0/host_vars/mev-relay-1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ mev_relay_housekeeper_container_env:
BELLATRIX_FORK_VERSION=0x30{{ ethereum_genesis_fork_version_suffix }}
CAPELLA_FORK_VERSION=0x40{{ ethereum_genesis_fork_version_suffix }}
DENEB_FORK_VERSION=0x50{{ ethereum_genesis_fork_version_suffix }}
ELECTA_FORK_VERSION=0x60{{ ethereum_genesis_fork_version_suffix }}
DB_TABLE_PREFIX=custom
LOG_LEVEL=debug

Expand Down
Loading

0 comments on commit 2bbb930

Please sign in to comment.