-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathparams.yaml
More file actions
78 lines (69 loc) · 3.62 KB
/
Copy pathparams.yaml
File metadata and controls
78 lines (69 loc) · 3.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Network forks: genesis at Fulu (deneb + electra + fulu all at epoch 0) — the default net runs
# the current fork out of the box. Fulu was historically deferred (fulu_fork_epoch: 100000)
# because an old ethereum2-monitor (E2M) build couldn't parse Fulu blocks (its indexer FATAL'd
# with "unknown SignedBeaconBlock version fulu"). Current E2M builds decode Fulu natively
# (go-eth2-client v0.28.1 + beacon/fulu.go): proven on the params-gloas.yaml net (Fulu epochs 0-1
# en route to Gloas, ssvlabs/aetheria#137), then validated on THIS net by a Fulu-at-genesis
# aetheria (event) run — E2M attestation validation green, zero monitor decode failures. To pin
# the old Electra-only behavior, set fulu_fork_epoch to a large value (e.g. 100000).
# https://github.com/ethpandaops/ethereum-package/blob/main/network_params.yaml
network:
participants:
- el_type: geth
el_image: ethereum/client-go:v1.16.7
cl_type: lighthouse
cl_image: sigp/lighthouse:v8.2.1
validator_count: 32
count: 2
supernode: true
additional_services:
- dora
network_params:
network_id: "3151908"
deneb_fork_epoch: 0
electra_fork_epoch: 0
fulu_fork_epoch: 0
perfect_peerdas_enabled: false
# Indices 64-73 are reserved for the aetheria local_testnet seed: deposited-but-VC-idle
# validators the SSV operators adopt (ssvlabs/aetheria orchestrator/script/insert_test_data.sql).
# VCs run [0, total validator_count*count summed over all participant groups) = [0,64); genesis
# deposits [0, preregistered) = [0,74). Keep that total <= 64 and preregistered_validator_count
# >= 74 (main.star asserts this by default; unsafe_skip_validator_layout_guard in params-gloas.yaml
# opts out for standalone liveness probes), else operators would run VC-active validators ->
# double-sign -> slashing.
preregistered_validator_count: 74
port_publisher:
cl:
enabled: true
# use_static_keys loads pre-computed operator keys (static/keys/operator-0..3) and a fixed keyshare
# set (static/keyshares/out.json: 10 validators split across operators [1,2,3,4]). Only 4 static
# operator key sets exist, so the total cluster size (ssv + anchor nodes) must be 4. Set false to
# generate operators and keyshares dynamically for the larger BFT sizes (7/10/13).
use_static_keys: true
# pre_register_validators drives main.star Step 4: registering the keyshare validators on-chain.
# Default false preserves the aetheria flow (its executor registers and funds its own validators and
# expects a clean cluster). A standalone `kurtosis run` (no executor) needs this true so operators
# actually run validators; consumers gating CI without aetheria (e.g. sigp/anchor) opt in. See #29.
# When true, the static keyshares occupy the same validator pool (indices 64-73) the executor's
# validator-registering suites ((event)/(ptc)/(proposer)/(p2p)) register at test time, so running
# those suites against a flag-on enclave reverts with ValidatorAlreadyExists; use standard
# (flag-off) enclaves for them.
pre_register_validators: false
# The ethereum2-monitor (E2M) indexes SSV validator attestations and serves the
# /api/stats API that the aetheria executor's E2M validation polls. Enabled so the
# local_testnet (event) flow validates attestations end-to-end (the executor maps
# its e2m endpoint to the monitor-api service; dora is only a block explorer).
monitor:
enabled: true
nodes:
ssv:
count: 4 # Valid total (ssv+anchor): 4, 7, 10, 13 (3f+1 for BFT)
anchor:
count: 0
images:
ssv: "node/ssv"
anchor: "sigp/anchor:v1.3.0"
monitor: "monitor"
redis: "redis:7.4.2"
postgres: "postgres:15"
deployer: "localssv/ssv-network"