diff --git a/goerli-shadow-fork/custom_config_data/README.md b/goerli-shadow-fork/custom_config_data/README.md new file mode 100644 index 00000000..8e09e2f0 --- /dev/null +++ b/goerli-shadow-fork/custom_config_data/README.md @@ -0,0 +1,18 @@ +# goerli-shadow-fork +TTD: `9149384` +ENR for consensus clients: +```yaml + - "enr:-Iq4QKuNB_wHmWon7hv5HntHiSsyE1a6cUTK1aT7xDSU_hNTLW3R4mowUboCsqYoh1kN9v3ZoSu_WuvW9Aw0tQ0Dxv6GAXxQ7Nv5gmlkgnY0gmlwhLKAlv6Jc2VjcDI1NmsxoQK6S-Cii_KmfFdUJL2TANL3ksaKUnNXvTCv1tLwXs0QgIN1ZHCCIyk" + - "enr:-L64QESYteGfjEpTmnnQDvQl6UI_WMUAEIn3oC_miMQVXzQQENWZwTKT3FeAgo1DUKu9p_EWmw4GByM8ggOraVK0WBqCAQqHYXR0bmV0c4j__________4RldGgykHHQNQYCABAg__________-CaWSCdjSCaXCEaPiNZolzZWNwMjU2azGhAs1UIGZrcQiv1zOlaM84DsXs67g5UqW-B9kPKl5QfHjNiHN5bmNuZXRzAIN0Y3CCIyiDdWRwgiMo" + - "enr:-L64QMp3KHe6E0B3zcV___10HBkNzJPU7p75UAiGIFp_h44Vb44lKjU5uw67bs2MImkS76tF4v1LYTlONw3LNYWqwBaCAUuHYXR0bmV0c4j__________4RldGgykHHQNQYCABAg__________-CaWSCdjSCaXCEzr03N4lzZWNwMjU2azGhA4QHmAG65extBHUlEhWWLp1dqf34LNS__hm2cnkkNpuziHN5bmNuZXRzAIN0Y3CCIyiDdWRwgiMo" + - "enr:-L64QA1iIbPH93nwUhyCTedIxEV9S-s15jBNqBUKr9_7MAUyDfp38Aq08QsPa6GKH86GdGjhiWOjai5invSvb_MtB0GCAUuHYXR0bmV0c4j__________4RldGgykHHQNQYCABAg__________-CaWSCdjSCaXCEaPiG04lzZWNwMjU2azGhAl0ZY8gHSSceBt7xmVXMUIaxbXzMzIxym8sajAV83_T9iHN5bmNuZXRzAIN0Y3CCIyiDdWRwgiMo" +``` +enode for execution clients: +```yaml + - "enode://5d51b95d7aa2ebbafa0e82f3360ef8612a7db660cf4103b9b667715b9328ea4d5a44dfdb5d385d40aa471068d6196c58264a28d4b7863d0e6039d72d5933311c@77.190.163.236:30303" + - "enode://1438482e6cf2d4abeb31b212815b7b397b123cff69038dc09f9128af9417132ccc4191de8316f382d05021139b10f5f2ac20822f4ba3e056b0eb70c533de4369@206.189.55.55:30303" + - "enode://f763b6f87e3908e0f10e6ddf311a2fb4b9e1adba7ee13c9eeafc6fc73a2fd2a1cd5b7ccf9afd6d1807b17c4da8b03e513d62b9fbb4953942201f34c9581ad9e6@104.248.141.102:30303" + - "enode://2ffe8f75722d8223dbe5a97f6426fc2b432e837acb853879e3ef6b1706eb21c20e8a38fc305ab7229c417593201e9d43e42d7f66f8c564b7b4b8633dace481d1@104.248.134.211:30303" + - "enode://011f758e6552d105183b1761c5e2dea0111bc20fd5f6422bc7f91e0fabbec9a6595caf6239b37feb773dddd3f87240d99d859431891e4a642cf2a0a9e6cbb98a@51.141.78.53:30303" +``` + diff --git a/goerli-shadow-fork/custom_config_data/boot_enr.yaml b/goerli-shadow-fork/custom_config_data/boot_enr.yaml new file mode 100644 index 00000000..000f7df5 --- /dev/null +++ b/goerli-shadow-fork/custom_config_data/boot_enr.yaml @@ -0,0 +1 @@ +- enr:-Iq4QKuNB_wHmWon7hv5HntHiSsyE1a6cUTK1aT7xDSU_hNTLW3R4mowUboCsqYoh1kN9v3ZoSu_WuvW9Aw0tQ0Dxv6GAXxQ7Nv5gmlkgnY0gmlwhLKAlv6Jc2VjcDI1NmsxoQK6S-Cii_KmfFdUJL2TANL3ksaKUnNXvTCv1tLwXs0QgIN1ZHCCIyk \ No newline at end of file diff --git a/goerli-shadow-fork/custom_config_data/config.yaml b/goerli-shadow-fork/custom_config_data/config.yaml new file mode 100644 index 00000000..b325ac6e --- /dev/null +++ b/goerli-shadow-fork/custom_config_data/config.yaml @@ -0,0 +1,68 @@ +# Extends the mainnet preset +PRESET_BASE: 'mainnet' +CONFIG_NAME: testnet # needs to exist because of Prysm. Otherwise it conflicts with mainnet genesis + +# Genesis +# --------------------------------------------------------------- +# `2**14` (= 16,384) +MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 190 +# Mar-01-2021 08:53:32 AM +UTC +# This is an invalid valid and should be updated when you create the genesis +MIN_GENESIS_TIME: 1642698231 +GENESIS_FORK_VERSION: 0x13001020 +GENESIS_DELAY: 900 + + +# 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: 0x01001020 +ALTAIR_FORK_EPOCH: 5 +# Merge +BELLATRIX_FORK_VERSION: 0x02001020 +BELLATRIX_FORK_EPOCH: 10 +TERMINAL_TOTAL_DIFFICULTY: 9149384 +TERMINAL_BLOCK_HASH: 0x0000000000000000000000000000000000000000000000000000000000000000 +TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH: 18446744073709551615 + +# Sharding +SHARDING_FORK_VERSION: 0x03001020 +SHARDING_FORK_EPOCH: 18446744073709551615 + +# Time parameters +# --------------------------------------------------------------- +# 12 seconds +SECONDS_PER_SLOT: 12 +# 14 (estimate from Eth1 mainnet) +SECONDS_PER_ETH1_BLOCK: 14 +# 2**8 (= 256) epochs ~27 hours +MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 +# 2**8 (= 256) epochs ~27 hours +SHARD_COMMITTEE_PERIOD: 256 +# 2**11 (= 2,048) Eth1 blocks ~8 hours +ETH1_FOLLOW_DISTANCE: 12 + + +# 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: 16000000000 +# 2**2 (= 4) +MIN_PER_EPOCH_CHURN_LIMIT: 4 +# 2**16 (= 65,536) +CHURN_LIMIT_QUOTIENT: 65536 + + +# Deposit contract +# --------------------------------------------------------------- +DEPOSIT_CHAIN_ID: 5 +DEPOSIT_NETWORK_ID: 5 +DEPOSIT_CONTRACT_ADDRESS: 0xDc805e777A5AB82Dd1ee76a6d3055E785844C35F diff --git a/goerli-shadow-fork/custom_config_data/deploy_block.txt b/goerli-shadow-fork/custom_config_data/deploy_block.txt new file mode 100644 index 00000000..e4a6e7b0 --- /dev/null +++ b/goerli-shadow-fork/custom_config_data/deploy_block.txt @@ -0,0 +1 @@ +6233671 \ No newline at end of file diff --git a/goerli-shadow-fork/custom_config_data/deposit_contract.txt b/goerli-shadow-fork/custom_config_data/deposit_contract.txt new file mode 100644 index 00000000..dc1a370d --- /dev/null +++ b/goerli-shadow-fork/custom_config_data/deposit_contract.txt @@ -0,0 +1 @@ +0xDc805e777A5AB82Dd1ee76a6d3055E785844C35F \ No newline at end of file diff --git a/goerli-shadow-fork/custom_config_data/deposit_contract_block.txt b/goerli-shadow-fork/custom_config_data/deposit_contract_block.txt new file mode 100644 index 00000000..778b9244 --- /dev/null +++ b/goerli-shadow-fork/custom_config_data/deposit_contract_block.txt @@ -0,0 +1 @@ +0x31f4a917aa2366bae1322358f1bdc71bd22df1aab55dd4c2c49909d36831b1c9 \ No newline at end of file diff --git a/goerli-shadow-fork/custom_config_data/genesis.json b/goerli-shadow-fork/custom_config_data/genesis.json new file mode 100644 index 00000000..788eac95 --- /dev/null +++ b/goerli-shadow-fork/custom_config_data/genesis.json @@ -0,0 +1,317 @@ +{ + "config": { + "chainId": 5, + "homesteadBlock": 0, + "daoForkSupport": true, + "eip150Block": 0, + "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "eip155Block": 0, + "eip158Block": 0, + "byzantiumBlock": 0, + "constantinopleBlock": 0, + "petersburgBlock": 0, + "istanbulBlock": 1561651, + "berlinBlock": 4460644, + "londonBlock": 5062605, + "mergeForkBlock": 6235365, + "terminalTotalDifficulty": 9149384, + "clique": { "period": 15, "epoch": 30000 }, + "trustedCheckpoint": { + "sectionIndex": 66, + "sectionHead": "0xeea3a7b2cb275956f3049dd27e6cdacd8a6ef86738d593d556efee5361019475", + "chtRoot": "0x11712af50b4083dc5910e452ca69fbfc0f2940770b9846200a573f87a0af94e6", + "bloomRoot": "0x331b7a7b273e81daeac8cafb9952a16669d7facc7be3b0ebd3a792b4d8b95cc5" + }, + "trustedCheckpointOracle": { + "address": "0x18ca0e045f0d772a851bc7e48357bcaab0a0795d", + "signers": [ + "0x4769bcad07e3b938b7f43eb7d278bc7cb9effb38", + "0x78d1ad571a1a09d60d9bbf25894b44e4c8859595", + "0x286834935f4a8cfb4ff4c77d5770c2775ae2b0e7", + "0xb86e2b0ab5a4b1373e40c51a7c712c70ba2f9f8e", + "0x0df8fa387c602ae62559cc4afa4972a7045d6707" + ], + "threshold": 2 + } + }, + "nonce": "0x0", + "timestamp": "0x5c51a607", + "extraData": "0x22466c6578692069732061207468696e6722202d204166726900000000000000e0a2bd4258d2768837baa26a28fe71dc079f84c70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gasLimit": "0xa00000", + "difficulty": "0x1", + "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "coinbase": "0x0000000000000000000000000000000000000000", + "alloc": { + "0000000000000000000000000000000000000000": { "balance": "0x1" }, + "0000000000000000000000000000000000000001": { "balance": "0x1" }, + "0000000000000000000000000000000000000002": { "balance": "0x1" }, + "0000000000000000000000000000000000000003": { "balance": "0x1" }, + "0000000000000000000000000000000000000004": { "balance": "0x1" }, + "0000000000000000000000000000000000000005": { "balance": "0x1" }, + "0000000000000000000000000000000000000006": { "balance": "0x1" }, + "0000000000000000000000000000000000000007": { "balance": "0x1" }, + "0000000000000000000000000000000000000008": { "balance": "0x1" }, + "0000000000000000000000000000000000000009": { "balance": "0x1" }, + "000000000000000000000000000000000000000a": { "balance": "0x1" }, + "000000000000000000000000000000000000000b": { "balance": "0x1" }, + "000000000000000000000000000000000000000c": { "balance": "0x1" }, + "000000000000000000000000000000000000000d": { "balance": "0x1" }, + "000000000000000000000000000000000000000e": { "balance": "0x1" }, + "000000000000000000000000000000000000000f": { "balance": "0x1" }, + "0000000000000000000000000000000000000010": { "balance": "0x1" }, + "0000000000000000000000000000000000000011": { "balance": "0x1" }, + "0000000000000000000000000000000000000012": { "balance": "0x1" }, + "0000000000000000000000000000000000000013": { "balance": "0x1" }, + "0000000000000000000000000000000000000014": { "balance": "0x1" }, + "0000000000000000000000000000000000000015": { "balance": "0x1" }, + "0000000000000000000000000000000000000016": { "balance": "0x1" }, + "0000000000000000000000000000000000000017": { "balance": "0x1" }, + "0000000000000000000000000000000000000018": { "balance": "0x1" }, + "0000000000000000000000000000000000000019": { "balance": "0x1" }, + "000000000000000000000000000000000000001a": { "balance": "0x1" }, + "000000000000000000000000000000000000001b": { "balance": "0x1" }, + "000000000000000000000000000000000000001c": { "balance": "0x1" }, + "000000000000000000000000000000000000001d": { "balance": "0x1" }, + "000000000000000000000000000000000000001e": { "balance": "0x1" }, + "000000000000000000000000000000000000001f": { "balance": "0x1" }, + "0000000000000000000000000000000000000020": { "balance": "0x1" }, + "0000000000000000000000000000000000000021": { "balance": "0x1" }, + "0000000000000000000000000000000000000022": { "balance": "0x1" }, + "0000000000000000000000000000000000000023": { "balance": "0x1" }, + "0000000000000000000000000000000000000024": { "balance": "0x1" }, + "0000000000000000000000000000000000000025": { "balance": "0x1" }, + "0000000000000000000000000000000000000026": { "balance": "0x1" }, + "0000000000000000000000000000000000000027": { "balance": "0x1" }, + "0000000000000000000000000000000000000028": { "balance": "0x1" }, + "0000000000000000000000000000000000000029": { "balance": "0x1" }, + "000000000000000000000000000000000000002a": { "balance": "0x1" }, + "000000000000000000000000000000000000002b": { "balance": "0x1" }, + "000000000000000000000000000000000000002c": { "balance": "0x1" }, + "000000000000000000000000000000000000002d": { "balance": "0x1" }, + "000000000000000000000000000000000000002e": { "balance": "0x1" }, + "000000000000000000000000000000000000002f": { "balance": "0x1" }, + "0000000000000000000000000000000000000030": { "balance": "0x1" }, + "0000000000000000000000000000000000000031": { "balance": "0x1" }, + "0000000000000000000000000000000000000032": { "balance": "0x1" }, + "0000000000000000000000000000000000000033": { "balance": "0x1" }, + "0000000000000000000000000000000000000034": { "balance": "0x1" }, + "0000000000000000000000000000000000000035": { "balance": "0x1" }, + "0000000000000000000000000000000000000036": { "balance": "0x1" }, + "0000000000000000000000000000000000000037": { "balance": "0x1" }, + "0000000000000000000000000000000000000038": { "balance": "0x1" }, + "0000000000000000000000000000000000000039": { "balance": "0x1" }, + "000000000000000000000000000000000000003a": { "balance": "0x1" }, + "000000000000000000000000000000000000003b": { "balance": "0x1" }, + "000000000000000000000000000000000000003c": { "balance": "0x1" }, + "000000000000000000000000000000000000003d": { "balance": "0x1" }, + "000000000000000000000000000000000000003e": { "balance": "0x1" }, + "000000000000000000000000000000000000003f": { "balance": "0x1" }, + "0000000000000000000000000000000000000040": { "balance": "0x1" }, + "0000000000000000000000000000000000000041": { "balance": "0x1" }, + "0000000000000000000000000000000000000042": { "balance": "0x1" }, + "0000000000000000000000000000000000000043": { "balance": "0x1" }, + "0000000000000000000000000000000000000044": { "balance": "0x1" }, + "0000000000000000000000000000000000000045": { "balance": "0x1" }, + "0000000000000000000000000000000000000046": { "balance": "0x1" }, + "0000000000000000000000000000000000000047": { "balance": "0x1" }, + "0000000000000000000000000000000000000048": { "balance": "0x1" }, + "0000000000000000000000000000000000000049": { "balance": "0x1" }, + "000000000000000000000000000000000000004a": { "balance": "0x1" }, + "000000000000000000000000000000000000004b": { "balance": "0x1" }, + "000000000000000000000000000000000000004c": { "balance": "0x1" }, + "000000000000000000000000000000000000004d": { "balance": "0x1" }, + "000000000000000000000000000000000000004e": { "balance": "0x1" }, + "000000000000000000000000000000000000004f": { "balance": "0x1" }, + "0000000000000000000000000000000000000050": { "balance": "0x1" }, + "0000000000000000000000000000000000000051": { "balance": "0x1" }, + "0000000000000000000000000000000000000052": { "balance": "0x1" }, + "0000000000000000000000000000000000000053": { "balance": "0x1" }, + "0000000000000000000000000000000000000054": { "balance": "0x1" }, + "0000000000000000000000000000000000000055": { "balance": "0x1" }, + "0000000000000000000000000000000000000056": { "balance": "0x1" }, + "0000000000000000000000000000000000000057": { "balance": "0x1" }, + "0000000000000000000000000000000000000058": { "balance": "0x1" }, + "0000000000000000000000000000000000000059": { "balance": "0x1" }, + "000000000000000000000000000000000000005a": { "balance": "0x1" }, + "000000000000000000000000000000000000005b": { "balance": "0x1" }, + "000000000000000000000000000000000000005c": { "balance": "0x1" }, + "000000000000000000000000000000000000005d": { "balance": "0x1" }, + "000000000000000000000000000000000000005e": { "balance": "0x1" }, + "000000000000000000000000000000000000005f": { "balance": "0x1" }, + "0000000000000000000000000000000000000060": { "balance": "0x1" }, + "0000000000000000000000000000000000000061": { "balance": "0x1" }, + "0000000000000000000000000000000000000062": { "balance": "0x1" }, + "0000000000000000000000000000000000000063": { "balance": "0x1" }, + "0000000000000000000000000000000000000064": { "balance": "0x1" }, + "0000000000000000000000000000000000000065": { "balance": "0x1" }, + "0000000000000000000000000000000000000066": { "balance": "0x1" }, + "0000000000000000000000000000000000000067": { "balance": "0x1" }, + "0000000000000000000000000000000000000068": { "balance": "0x1" }, + "0000000000000000000000000000000000000069": { "balance": "0x1" }, + "000000000000000000000000000000000000006a": { "balance": "0x1" }, + "000000000000000000000000000000000000006b": { "balance": "0x1" }, + "000000000000000000000000000000000000006c": { "balance": "0x1" }, + "000000000000000000000000000000000000006d": { "balance": "0x1" }, + "000000000000000000000000000000000000006e": { "balance": "0x1" }, + "000000000000000000000000000000000000006f": { "balance": "0x1" }, + "0000000000000000000000000000000000000070": { "balance": "0x1" }, + "0000000000000000000000000000000000000071": { "balance": "0x1" }, + "0000000000000000000000000000000000000072": { "balance": "0x1" }, + "0000000000000000000000000000000000000073": { "balance": "0x1" }, + "0000000000000000000000000000000000000074": { "balance": "0x1" }, + "0000000000000000000000000000000000000075": { "balance": "0x1" }, + "0000000000000000000000000000000000000076": { "balance": "0x1" }, + "0000000000000000000000000000000000000077": { "balance": "0x1" }, + "0000000000000000000000000000000000000078": { "balance": "0x1" }, + "0000000000000000000000000000000000000079": { "balance": "0x1" }, + "000000000000000000000000000000000000007a": { "balance": "0x1" }, + "000000000000000000000000000000000000007b": { "balance": "0x1" }, + "000000000000000000000000000000000000007c": { "balance": "0x1" }, + "000000000000000000000000000000000000007d": { "balance": "0x1" }, + "000000000000000000000000000000000000007e": { "balance": "0x1" }, + "000000000000000000000000000000000000007f": { "balance": "0x1" }, + "0000000000000000000000000000000000000080": { "balance": "0x1" }, + "0000000000000000000000000000000000000081": { "balance": "0x1" }, + "0000000000000000000000000000000000000082": { "balance": "0x1" }, + "0000000000000000000000000000000000000083": { "balance": "0x1" }, + "0000000000000000000000000000000000000084": { "balance": "0x1" }, + "0000000000000000000000000000000000000085": { "balance": "0x1" }, + "0000000000000000000000000000000000000086": { "balance": "0x1" }, + "0000000000000000000000000000000000000087": { "balance": "0x1" }, + "0000000000000000000000000000000000000088": { "balance": "0x1" }, + "0000000000000000000000000000000000000089": { "balance": "0x1" }, + "000000000000000000000000000000000000008a": { "balance": "0x1" }, + "000000000000000000000000000000000000008b": { "balance": "0x1" }, + "000000000000000000000000000000000000008c": { "balance": "0x1" }, + "000000000000000000000000000000000000008d": { "balance": "0x1" }, + "000000000000000000000000000000000000008e": { "balance": "0x1" }, + "000000000000000000000000000000000000008f": { "balance": "0x1" }, + "0000000000000000000000000000000000000090": { "balance": "0x1" }, + "0000000000000000000000000000000000000091": { "balance": "0x1" }, + "0000000000000000000000000000000000000092": { "balance": "0x1" }, + "0000000000000000000000000000000000000093": { "balance": "0x1" }, + "0000000000000000000000000000000000000094": { "balance": "0x1" }, + "0000000000000000000000000000000000000095": { "balance": "0x1" }, + "0000000000000000000000000000000000000096": { "balance": "0x1" }, + "0000000000000000000000000000000000000097": { "balance": "0x1" }, + "0000000000000000000000000000000000000098": { "balance": "0x1" }, + "0000000000000000000000000000000000000099": { "balance": "0x1" }, + "000000000000000000000000000000000000009a": { "balance": "0x1" }, + "000000000000000000000000000000000000009b": { "balance": "0x1" }, + "000000000000000000000000000000000000009c": { "balance": "0x1" }, + "000000000000000000000000000000000000009d": { "balance": "0x1" }, + "000000000000000000000000000000000000009e": { "balance": "0x1" }, + "000000000000000000000000000000000000009f": { "balance": "0x1" }, + "00000000000000000000000000000000000000a0": { "balance": "0x1" }, + "00000000000000000000000000000000000000a1": { "balance": "0x1" }, + "00000000000000000000000000000000000000a2": { "balance": "0x1" }, + "00000000000000000000000000000000000000a3": { "balance": "0x1" }, + "00000000000000000000000000000000000000a4": { "balance": "0x1" }, + "00000000000000000000000000000000000000a5": { "balance": "0x1" }, + "00000000000000000000000000000000000000a6": { "balance": "0x1" }, + "00000000000000000000000000000000000000a7": { "balance": "0x1" }, + "00000000000000000000000000000000000000a8": { "balance": "0x1" }, + "00000000000000000000000000000000000000a9": { "balance": "0x1" }, + "00000000000000000000000000000000000000aa": { "balance": "0x1" }, + "00000000000000000000000000000000000000ab": { "balance": "0x1" }, + "00000000000000000000000000000000000000ac": { "balance": "0x1" }, + "00000000000000000000000000000000000000ad": { "balance": "0x1" }, + "00000000000000000000000000000000000000ae": { "balance": "0x1" }, + "00000000000000000000000000000000000000af": { "balance": "0x1" }, + "00000000000000000000000000000000000000b0": { "balance": "0x1" }, + "00000000000000000000000000000000000000b1": { "balance": "0x1" }, + "00000000000000000000000000000000000000b2": { "balance": "0x1" }, + "00000000000000000000000000000000000000b3": { "balance": "0x1" }, + "00000000000000000000000000000000000000b4": { "balance": "0x1" }, + "00000000000000000000000000000000000000b5": { "balance": "0x1" }, + "00000000000000000000000000000000000000b6": { "balance": "0x1" }, + "00000000000000000000000000000000000000b7": { "balance": "0x1" }, + "00000000000000000000000000000000000000b8": { "balance": "0x1" }, + "00000000000000000000000000000000000000b9": { "balance": "0x1" }, + "00000000000000000000000000000000000000ba": { "balance": "0x1" }, + "00000000000000000000000000000000000000bb": { "balance": "0x1" }, + "00000000000000000000000000000000000000bc": { "balance": "0x1" }, + "00000000000000000000000000000000000000bd": { "balance": "0x1" }, + "00000000000000000000000000000000000000be": { "balance": "0x1" }, + "00000000000000000000000000000000000000bf": { "balance": "0x1" }, + "00000000000000000000000000000000000000c0": { "balance": "0x1" }, + "00000000000000000000000000000000000000c1": { "balance": "0x1" }, + "00000000000000000000000000000000000000c2": { "balance": "0x1" }, + "00000000000000000000000000000000000000c3": { "balance": "0x1" }, + "00000000000000000000000000000000000000c4": { "balance": "0x1" }, + "00000000000000000000000000000000000000c5": { "balance": "0x1" }, + "00000000000000000000000000000000000000c6": { "balance": "0x1" }, + "00000000000000000000000000000000000000c7": { "balance": "0x1" }, + "00000000000000000000000000000000000000c8": { "balance": "0x1" }, + "00000000000000000000000000000000000000c9": { "balance": "0x1" }, + "00000000000000000000000000000000000000ca": { "balance": "0x1" }, + "00000000000000000000000000000000000000cb": { "balance": "0x1" }, + "00000000000000000000000000000000000000cc": { "balance": "0x1" }, + "00000000000000000000000000000000000000cd": { "balance": "0x1" }, + "00000000000000000000000000000000000000ce": { "balance": "0x1" }, + "00000000000000000000000000000000000000cf": { "balance": "0x1" }, + "00000000000000000000000000000000000000d0": { "balance": "0x1" }, + "00000000000000000000000000000000000000d1": { "balance": "0x1" }, + "00000000000000000000000000000000000000d2": { "balance": "0x1" }, + "00000000000000000000000000000000000000d3": { "balance": "0x1" }, + "00000000000000000000000000000000000000d4": { "balance": "0x1" }, + "00000000000000000000000000000000000000d5": { "balance": "0x1" }, + "00000000000000000000000000000000000000d6": { "balance": "0x1" }, + "00000000000000000000000000000000000000d7": { "balance": "0x1" }, + "00000000000000000000000000000000000000d8": { "balance": "0x1" }, + "00000000000000000000000000000000000000d9": { "balance": "0x1" }, + "00000000000000000000000000000000000000da": { "balance": "0x1" }, + "00000000000000000000000000000000000000db": { "balance": "0x1" }, + "00000000000000000000000000000000000000dc": { "balance": "0x1" }, + "00000000000000000000000000000000000000dd": { "balance": "0x1" }, + "00000000000000000000000000000000000000de": { "balance": "0x1" }, + "00000000000000000000000000000000000000df": { "balance": "0x1" }, + "00000000000000000000000000000000000000e0": { "balance": "0x1" }, + "00000000000000000000000000000000000000e1": { "balance": "0x1" }, + "00000000000000000000000000000000000000e2": { "balance": "0x1" }, + "00000000000000000000000000000000000000e3": { "balance": "0x1" }, + "00000000000000000000000000000000000000e4": { "balance": "0x1" }, + "00000000000000000000000000000000000000e5": { "balance": "0x1" }, + "00000000000000000000000000000000000000e6": { "balance": "0x1" }, + "00000000000000000000000000000000000000e7": { "balance": "0x1" }, + "00000000000000000000000000000000000000e8": { "balance": "0x1" }, + "00000000000000000000000000000000000000e9": { "balance": "0x1" }, + "00000000000000000000000000000000000000ea": { "balance": "0x1" }, + "00000000000000000000000000000000000000eb": { "balance": "0x1" }, + "00000000000000000000000000000000000000ec": { "balance": "0x1" }, + "00000000000000000000000000000000000000ed": { "balance": "0x1" }, + "00000000000000000000000000000000000000ee": { "balance": "0x1" }, + "00000000000000000000000000000000000000ef": { "balance": "0x1" }, + "00000000000000000000000000000000000000f0": { "balance": "0x1" }, + "00000000000000000000000000000000000000f1": { "balance": "0x1" }, + "00000000000000000000000000000000000000f2": { "balance": "0x1" }, + "00000000000000000000000000000000000000f3": { "balance": "0x1" }, + "00000000000000000000000000000000000000f4": { "balance": "0x1" }, + "00000000000000000000000000000000000000f5": { "balance": "0x1" }, + "00000000000000000000000000000000000000f6": { "balance": "0x1" }, + "00000000000000000000000000000000000000f7": { "balance": "0x1" }, + "00000000000000000000000000000000000000f8": { "balance": "0x1" }, + "00000000000000000000000000000000000000f9": { "balance": "0x1" }, + "00000000000000000000000000000000000000fa": { "balance": "0x1" }, + "00000000000000000000000000000000000000fb": { "balance": "0x1" }, + "00000000000000000000000000000000000000fc": { "balance": "0x1" }, + "00000000000000000000000000000000000000fd": { "balance": "0x1" }, + "00000000000000000000000000000000000000fe": { "balance": "0x1" }, + "00000000000000000000000000000000000000ff": { "balance": "0x1" }, + "4c2ae482593505f0163cdefc073e81c63cda4107": { + "balance": "0x152d02c7e14af6800000" + }, + "a8e8f14732658e4b51e8711931053a8a69baf2b1": { + "balance": "0x152d02c7e14af6800000" + }, + "d9a5179f091d85051d3c982785efd1455cec8699": { + "balance": "0x84595161401484a000000" + }, + "e0a2bd4258d2768837baa26a28fe71dc079f84c7": { + "balance": "0x4a47e3c12448f4ad000000" + } + }, + "number": "0x0", + "gasUsed": "0x0", + "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000" +} diff --git a/goerli-shadow-fork/custom_config_data/genesis.ssz b/goerli-shadow-fork/custom_config_data/genesis.ssz new file mode 100644 index 00000000..f8735e92 Binary files /dev/null and b/goerli-shadow-fork/custom_config_data/genesis.ssz differ diff --git a/goerli-shadow-fork/generate_keys.sh b/goerli-shadow-fork/generate_keys.sh new file mode 100755 index 00000000..574c947c --- /dev/null +++ b/goerli-shadow-fork/generate_keys.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +validators_per_host=64 # Number of validators in each host + + +if [ -z "$VALIDATORS_MNEMONIC_0" ]; then + echo "missing mnemonic 0" + exit 1 +fi + + +function prep_group { + let group_base=$1 + validators_source_mnemonic="$2" + let offset=$3 + let keys_to_create=$4 + naming_prefix="$5" + echo "Group base: $group_base" + for (( i = 0; i < keys_to_create; i++ )); do + let node_index=group_base+i + let offset_i=offset+i + let validators_source_min=offset_i*validators_per_host + let validators_source_max=validators_source_min+validators_per_host + + echo "writing keystores for host $naming_prefix-$node_index: $validators_source_min - $validators_source_max" + eth2-val-tools keystores \ + --insecure \ + --prysm-pass="prysm" \ + --out-loc="validator_prep/$naming_prefix-$node_index" \ + --source-max="$validators_source_max" \ + --source-min="$validators_source_min" \ + --source-mnemonic="$validators_source_mnemonic" + done +} + +echo "Lighthouse keys" +prep_group 1 "$VALIDATORS_MNEMONIC_0" 0 3 "goerli-shadow-fork-lighthouse-geth" + diff --git a/goerli-shadow-fork/inventory/group_vars/all.yaml b/goerli-shadow-fork/inventory/group_vars/all.yaml new file mode 100644 index 00000000..6e570c0b --- /dev/null +++ b/goerli-shadow-fork/inventory/group_vars/all.yaml @@ -0,0 +1,136 @@ +############################################## +# generic ansible config information +############################################## +ansible_user: "devops" +bootstrap_user: "devops" + +github_user_pubkeys: + - parithosh + - protolambda + - ralexstokes + - djrtwo + - skylenet + +ansible_python_interpreter: /usr/bin/python3 +oh_my_zsh_config: + PROMPT: "%{$fg[yellow]%}%n%{$fg[white]%}@%{$fg[red]%}%m%{$reset_color%} ${PROMPT}" + +############################################## +# eth1 endpoints +############################################## +# nimbus requires a websocket endpoint (http support unstable) +# note: also used for execution engine endpoint in nimbus +consensus_endpoint_nimbus: ws://127.0.0.1:8546 +# lighthouse uses this +execution_engine_endpoint: http://127.0.0.1:8545 + +eth1endpoint: http://127.0.0.1:8545 + +# Merge Engine endpoints +# TODO change IP? +# TODO: some engines might start using the 8550 port (or 8551 for ws) + +############################################## +# testnet specific information +############################################## +testnet_type: custom +eth2_network_name: goerli-shadow-fork +chainID: 5 +terminal_total_difficulty: "9149384" + +# enter bootnodes here if needed +bootnode_enrs: + - "enr:-Iq4QKuNB_wHmWon7hv5HntHiSsyE1a6cUTK1aT7xDSU_hNTLW3R4mowUboCsqYoh1kN9v3ZoSu_WuvW9Aw0tQ0Dxv6GAXxQ7Nv5gmlkgnY0gmlwhLKAlv6Jc2VjcDI1NmsxoQK6S-Cii_KmfFdUJL2TANL3ksaKUnNXvTCv1tLwXs0QgIN1ZHCCIyk" + - "enr:-L64QESYteGfjEpTmnnQDvQl6UI_WMUAEIn3oC_miMQVXzQQENWZwTKT3FeAgo1DUKu9p_EWmw4GByM8ggOraVK0WBqCAQqHYXR0bmV0c4j__________4RldGgykHHQNQYCABAg__________-CaWSCdjSCaXCEaPiNZolzZWNwMjU2azGhAs1UIGZrcQiv1zOlaM84DsXs67g5UqW-B9kPKl5QfHjNiHN5bmNuZXRzAIN0Y3CCIyiDdWRwgiMo" + - "enr:-L64QMp3KHe6E0B3zcV___10HBkNzJPU7p75UAiGIFp_h44Vb44lKjU5uw67bs2MImkS76tF4v1LYTlONw3LNYWqwBaCAUuHYXR0bmV0c4j__________4RldGgykHHQNQYCABAg__________-CaWSCdjSCaXCEzr03N4lzZWNwMjU2azGhA4QHmAG65extBHUlEhWWLp1dqf34LNS__hm2cnkkNpuziHN5bmNuZXRzAIN0Y3CCIyiDdWRwgiMo" + - "enr:-L64QA1iIbPH93nwUhyCTedIxEV9S-s15jBNqBUKr9_7MAUyDfp38Aq08QsPa6GKH86GdGjhiWOjai5invSvb_MtB0GCAUuHYXR0bmV0c4j__________4RldGgykHHQNQYCABAg__________-CaWSCdjSCaXCEaPiG04lzZWNwMjU2azGhAl0ZY8gHSSceBt7xmVXMUIaxbXzMzIxym8sajAV83_T9iHN5bmNuZXRzAIN0Y3CCIyiDdWRwgiMo" + +eth1_bootnode_enode: + - "enode://5d51b95d7aa2ebbafa0e82f3360ef8612a7db660cf4103b9b667715b9328ea4d5a44dfdb5d385d40aa471068d6196c58264a28d4b7863d0e6039d72d5933311c@77.190.163.236:30303" + - "enode://1438482e6cf2d4abeb31b212815b7b397b123cff69038dc09f9128af9417132ccc4191de8316f382d05021139b10f5f2ac20822f4ba3e056b0eb70c533de4369@206.189.55.55:30303" + - "enode://f763b6f87e3908e0f10e6ddf311a2fb4b9e1adba7ee13c9eeafc6fc73a2fd2a1cd5b7ccf9afd6d1807b17c4da8b03e513d62b9fbb4953942201f34c9581ad9e6@104.248.141.102:30303" + - "enode://2ffe8f75722d8223dbe5a97f6426fc2b432e837acb853879e3ef6b1706eb21c20e8a38fc305ab7229c417593201e9d43e42d7f66f8c564b7b4b8633dace481d1@104.248.134.211:30303" + - "enode://011f758e6552d105183b1761c5e2dea0111bc20fd5f6422bc7f91e0fabbec9a6595caf6239b37feb773dddd3f87240d99d859431891e4a642cf2a0a9e6cbb98a@51.141.78.53:30303" + +############################################## +# metric information +############################################## +# enter pushgateway config if needed +prometheus_config_file: "prometheus/prometheus.yml.j2" +thanos_url: "http://thanos.ethdevops.io:19291/api/v1/receive/" +push_metrics_enabled: true + +############################################## +# ports to configure +############################################## +eth1_rpc_port: 8545 +eth1_ws_rpc_port: 8546 +nimbus_rpc_port: 4009 +beacon_api_port: 4000 +beacon_grpc_port: 4001 +beacon_metrics_port: 8000 +beacon_p2p_port: 9000 +validator_metrics_port: 8001 +validator_rpc_port: 4002 +node_exporter_web_listen_address: "0.0.0.0:9100" + +############################################## +# name of the validator to display +############################################## +graffiti: "{{eth2_client_name}}-{{eth1_client_name}}" + +############################################## +# local data directories +############################################## +local_explorerdata_host_dir: "{{inventory_dir}}/../explorerdata" +local_explorerdata_host_archive: "{{inventory_dir}}/../explorerdata.tar.gz" +local_forkmondata_host_dir: "{{inventory_dir}}/../forkmondata" +local_forkmondata_host_archive: "{{inventory_dir}}/../forkmondata.tar.gz" +local_custom_config_data_host_dir: "{{inventory_dir}}/../custom_config_data" +local_custom_config_data_host_archive: "{{inventory_dir}}/../custom_config_data.tar.gz" +# private dirs +# Validator assignments +local_validator_host_dir: "{{inventory_dir}}/../validator_prep/{{ansible_hostname}}" +local_validator_host_archive: "{{inventory_dir}}/../validator_prep/{{ansible_hostname}}.tar.gz" + +############################################## +# remote host data directories +############################################## +home_dir: "/home/{{ ansible_user }}" +beacon_node_dir: "{{home_dir}}/beacon" +validator_node_dir: "{{home_dir}}/validator" +testnet_dir: "{{home_dir}}/custom_config_data" +eth1_node_dir: "{{home_dir}}/eth1data" + +############################################## +# common log config +############################################## +common_log_options: + max-file: "10" + max-size: 30m + mode: non-blocking + max-buffer-size: 4m +common_log_driver: json-file +beacon_log_level: info + +############################################## +# container names +############################################## +beacon_container_name: beacon +validator_container_name: validator +hi_peer_count: 10 +separate_validator_process_enabled: true + +firewall_allowed_tcp_ports: + - 22 + - 30303 + - 9000 + - 80 + - 443 + +firewall_allowed_udp_ports: + - 30303 + - 9000 +firewall_additional_rules: + - "iptables -A INPUT -p tcp --dport 4000 -s 161.35.67.219 -j ACCEPT" + - "iptables -A INPUT -p tcp --dport 8545 -s 161.35.67.219 -j ACCEPT" diff --git a/goerli-shadow-fork/inventory/group_vars/eth1client_geth.yml b/goerli-shadow-fork/inventory/group_vars/eth1client_geth.yml new file mode 100644 index 00000000..2c9a76b1 --- /dev/null +++ b/goerli-shadow-fork/inventory/group_vars/eth1client_geth.yml @@ -0,0 +1,44 @@ +eth1_client_name: geth +eth1_image_name: parithoshj/geth:merge-89272c8 + +eth1_github_external_user_pubkeys: + - mariusVanDerWijden + +eth1_memory: 5000M +eth1_kernel_memory: 5500M + +# bare websocket +eth1endpoint_ws: ws://127.0.0.1:8546 + +eth1_volumes: + - "{{eth1_node_dir}}:/eth1data" + - "{{testnet_dir}}:/networkdata" + +geth_init_args: > + --datadir=/eth1data init /networkdata/genesis.json + +# geth_cleanup_args: > +# --datadir=/eth1data db delete 0x536b656c65746f6e53796e63537461747573 +eth1_start_args: > + --datadir=/eth1data + --networkid={{chainID}} --catalyst + --http --http.api "engine,net,eth" + --http.port {{eth1_rpc_port}} + --http.addr 0.0.0.0 + --http.corsdomain "*" + --ws --ws.api "net,eth,engine" + --ws.port={{eth1_ws_rpc_port}} + --ws.addr 0.0.0.0 + --nat extip:{{ansible_host}} + --allow-insecure-unlock + --vmodule=rpc=5 + --maxpeers=200 + {% if (eth1_bootnode_enode is defined) and eth1_bootnode_enode %} + --bootnodes "{{ eth1_bootnode_enode | join(',') }}" + {% endif %} + +eth1_user_id: "1000:1000" + +# ./go-ethereum/build/bin/geth --datadir=./kintsugi init genesis.json +# ./go-ethereum/build/bin/geth --datadir=./kintsugi --ethash.dagdir=./kintsugi/ethash --catalyst --mine --miner.threads=1 --miner.etherbase=0xfb969eb20eca70c2800103bbb0d3757bc60f918a --http --http.corsdomain='*' --http.addr="0.0.0.0" --http.api="engine,net,eth,debug,txpool" --nat extip:161.35.67.219 --networkid=1337702 console +# ./go-ethereum/build/bin/geth --datadir=./kintsugi --ethash.dagdir=./kintsugi/ethash --catalyst --http --http.corsdomain='*' --http.addr="0.0.0.0" --http.vhosts="*" --http.api="engine,net,eth,debug,txpool" --ws --ws.api="eth,net,engine" --ws.port=8546 --ws.addr="0.0.0.0" --rpc.allow-unprotected-txs --nat extip:161.35.67.219 --networkid=1337702 console \ No newline at end of file diff --git a/goerli-shadow-fork/inventory/group_vars/eth2client_lighthouse.yml b/goerli-shadow-fork/inventory/group_vars/eth2client_lighthouse.yml new file mode 100644 index 00000000..6236adf6 --- /dev/null +++ b/goerli-shadow-fork/inventory/group_vars/eth2client_lighthouse.yml @@ -0,0 +1,88 @@ +############################################## +# image name and image location +############################################## +eth2_client_name: lighthouse + +beacon_image_name: sigp/lighthouse:latest-unstable +validator_image_name: sigp/lighthouse:latest-unstable +beacon_endpoint: "http://127.0.0.1:{{beacon_api_port}}" + +eth2_github_external_user_pubkeys: + - AgeManning + - ethdreamer + - paulhauner + - pawanjay176 + +############################################## +# volume mappings on remote host +############################################## +beacon_volumes: + - "{{beacon_node_dir}}:/beacondata" + - "{{testnet_dir}}:/custom_config_data" + +validator_volumes: + - "{{validator_node_dir}}:/validatordata" + - "{{testnet_dir}}:/custom_config_data" + +############################################## +# arguments to run the containers with +############################################## +beacon_start_args: > + lighthouse + --debug-level="{{ beacon_log_level | lower }}" + --datadir "/beacondata" + --testnet-dir="/custom_config_data" + bn + --disable-enr-auto-update + --enr-address={{ansible_host}} + --enr-tcp-port={{beacon_p2p_port}} --enr-udp-port={{beacon_p2p_port}} + --port={{beacon_p2p_port}} --discovery-port={{beacon_p2p_port}} + --eth1 + {% if (bootnode_enrs is defined) and bootnode_enrs %} + --boot-nodes="{{ bootnode_enrs | join(',') }}" + {% endif %} --http + --http-address=0.0.0.0 + --http-port="{{beacon_api_port}}" + --metrics + --metrics-address=0.0.0.0 + --metrics-port="{{beacon_metrics_port}}" + --listen-address=0.0.0.0 + --graffiti="{{graffiti}}" + --target-peers={{hi_peer_count}} + --http-allow-sync-stalled + --merge + --disable-packet-filter + --execution-endpoints={{execution_engine_endpoint}} + --eth1-endpoints={{eth1endpoint}} + --terminal-total-difficulty-override={{terminal_total_difficulty}} + +# in case of eth1 deposit endpoint problems: --dummy-eth1 + +validator_start_args: > + lighthouse + --testnet-dir="/custom_config_data" + vc + --validators-dir="/validatordata/validators" + --secrets-dir="/validatordata/secrets" + --init-slashing-protection + --server={{beacon_endpoint}} + --graffiti="{{graffiti}}" + --http --http-port={{validator_rpc_port}} + --metrics --metrics-address 0.0.0.0 --metrics-port "{{validator_metrics_port}}" + +############################################## +# memory limits +############################################## +validator_memory: 2000M +validator_kernel_memory: 2500M +beacon_memory: 5000M +beacon_kernel_memory: 5500M + +############################################## +# file permissions and user ids +############################################## +keystores_file_mode: "0700" +beacon_user_id: "1000:1000" +validator_user_id: "0:0" + +separate_validator_process_enabled: true diff --git a/goerli-shadow-fork/inventory/inventory.ini b/goerli-shadow-fork/inventory/inventory.ini new file mode 100644 index 00000000..a58d41f6 --- /dev/null +++ b/goerli-shadow-fork/inventory/inventory.ini @@ -0,0 +1,44 @@ +goerli-shadow-fork-lighthouse-geth-3 ansible_host=104.248.134.211 +goerli-shadow-fork-lighthouse-geth-2 ansible_host=104.248.141.102 +goerli-shadow-fork-lighthouse-geth-1 ansible_host=206.189.55.55 + +[goerli_shadow_fork] +goerli-shadow-fork-lighthouse-geth-3 +goerli-shadow-fork-lighthouse-geth-2 +goerli-shadow-fork-lighthouse-geth-1 + +[eth2client_lighthouse] +goerli-shadow-fork-lighthouse-geth-3 +goerli-shadow-fork-lighthouse-geth-2 +goerli-shadow-fork-lighthouse-geth-1 + +[eth1client_geth] +goerli-shadow-fork-lighthouse-geth-3 +goerli-shadow-fork-lighthouse-geth-2 +goerli-shadow-fork-lighthouse-geth-1 + +[validator] +goerli-shadow-fork-lighthouse-geth-3 +goerli-shadow-fork-lighthouse-geth-2 +goerli-shadow-fork-lighthouse-geth-1 + +[execution] +goerli-shadow-fork-lighthouse-geth-3 +goerli-shadow-fork-lighthouse-geth-2 +goerli-shadow-fork-lighthouse-geth-1 + +[beacon] +goerli-shadow-fork-lighthouse-geth-3 +goerli-shadow-fork-lighthouse-geth-2 +goerli-shadow-fork-lighthouse-geth-1 + +[Owner_Parithosh] +goerli-shadow-fork-lighthouse-geth-3 +goerli-shadow-fork-lighthouse-geth-2 +goerli-shadow-fork-lighthouse-geth-1 + +[Consensus_Infra] +goerli-shadow-fork-lighthouse-geth-3 +goerli-shadow-fork-lighthouse-geth-2 +goerli-shadow-fork-lighthouse-geth-1 +