From 1b8c67375fc3c2e9c17fed39b5ba96b798595669 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 10 Sep 2023 12:32:47 +0300 Subject: [PATCH] add files --- .gitignore | 4 + docker-compose-create-beaconchain-node.yml | 18 ++++ docker-compose-create-geth-node.yml | 9 ++ docker-compose.yml | 101 +++++++++++++++++++ env.example | 4 + files/config.yml | 54 ++++++++++ files/genesis.json | 110 +++++++++++++++++++++ files/genesis.ssz | Bin 0 -> 2745969 bytes jwtsecret | 1 + root_beaconchain/.gitkeep | 0 root_signer/.gitkeep | 0 root_slasher/slasher.yaml | 13 +++ root_validator/.gitkeep | 0 scripts/create_genesis_ssz.sh | 15 +++ scripts/create_mnemonic.sh | 4 + scripts/create_validator_wallet.sh | 8 ++ scripts/gen_home_dir_geth.sh | 3 + scripts/stop_clear.sh | 9 ++ 18 files changed, 353 insertions(+) create mode 100644 .gitignore create mode 100644 docker-compose-create-beaconchain-node.yml create mode 100644 docker-compose-create-geth-node.yml create mode 100644 docker-compose.yml create mode 100644 env.example create mode 100644 files/config.yml create mode 100644 files/genesis.json create mode 100644 files/genesis.ssz create mode 100644 jwtsecret create mode 100644 root_beaconchain/.gitkeep create mode 100644 root_signer/.gitkeep create mode 100644 root_slasher/slasher.yaml create mode 100644 root_validator/.gitkeep create mode 100755 scripts/create_genesis_ssz.sh create mode 100755 scripts/create_mnemonic.sh create mode 100755 scripts/create_validator_wallet.sh create mode 100755 scripts/gen_home_dir_geth.sh create mode 100755 scripts/stop_clear.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0a027f2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +files/validator_keys +files/wallet +files/validator.txt +.env \ No newline at end of file diff --git a/docker-compose-create-beaconchain-node.yml b/docker-compose-create-beaconchain-node.yml new file mode 100644 index 0000000..b285c19 --- /dev/null +++ b/docker-compose-create-beaconchain-node.yml @@ -0,0 +1,18 @@ +version: "3.9" +services: + #Creates a genesis state for the beacon chain using a YAML configuration file and + # a deterministic set of 64 validators. + create-beacon-chain-genesis: + image: "gcr.io/prysmaticlabs/prysm/cmd/prysmctl@sha256:f84353a4b6552dbb2cd0f3249d7b02f1a18ccdd56dfb36a233b5814832aa5707" + command: + - testnet + - generate-genesis + - --fork=bellatrix + - --deposit-json-file=/files/validator_keys/$DEPOSIT_DATA + - --num-validators=$NUM_VALIDATORS + - --output-ssz=/files/genesis.ssz + - --chain-config-file=/files/config.yml + - --geth-genesis-json-in=/files/genesis.json + - --geth-genesis-json-out=/files/genesis.json + volumes: + - ./files:/files diff --git a/docker-compose-create-geth-node.yml b/docker-compose-create-geth-node.yml new file mode 100644 index 0000000..1d478f5 --- /dev/null +++ b/docker-compose-create-geth-node.yml @@ -0,0 +1,9 @@ +version: "3.9" +services: + # Sets up the genesis configuration for the go-ethereum client from a JSON file. + geth-genesis: + image: "ethereum/client-go:latest" + command: --datadir=/data init /files/genesis.json + volumes: + - ./root_signer:/data + - ./files:/files diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..74749c6 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,101 @@ +version: "2" +services: + geth1: + image: "ethereum/client-go:latest" + command: + - --http + - --http.api=eth,web3,txpool,net + - --http.addr=0.0.0.0 + - --authrpc.vhosts=* + - --http.vhosts=* + - --http.corsdomain=* + - --authrpc.addr=0.0.0.0 + - --authrpc.jwtsecret=/jwtsecret + - --datadir=/data + - --syncmode=full + - --networkid=${CHAIN_ID:-32382} + - --nat=extip:$EXTERNAL_IP + ports: + - 2045:8545 + networks: + - sanchain-pos_network + volumes: + - ./root_signer:/data + - ./jwtsecret:/jwtsecret + slasher: + image: gcr.io/prysmaticlabs/prysm/slasher:stable + restart: always + networks: + - sanchain-pos_network + depends_on: + - beacon-chain1 + command: --config-file=/data/slasher.yaml --accept-terms-of-use + volumes: + - ./root_slasher:/data + + beacon-chain1: +# image: "gcr.io/prysmaticlabs/prysm/beacon-chain:stable" + image: repo.mind-dev.com/santiops/beacon-chain + command: + - --datadir=/data + # No peers to sync with in this testnet, so setting to 0 + - --min-sync-peers=0 + - --minimum-peers-per-subnet=0 + - --genesis-state=/files/genesis.ssz + - --bootstrap-node=enr:-LG4QK26GBVo37KwknBeQ8ubca9W4jHtjqeszlRJflvsJeoAXXuUK21U6Q_QTijYrAFbKExFw46mWG1Q344npc39UF-GAYpLbegxh2F0dG5ldHOIAAAAAAAAAACEZXRoMpD1pf1CAAAAAP__________gmlkgnY0gmlwhKweAAKJc2VjcDI1NmsxoQLyirWTAY--P_8vYX0N0AtINF5p37yEP6N8QI3EoCUBkYN1ZHCCdmY + - --chain-config-file=/files/config.yml + - --chain-id=${CHAIN_ID:-32382} + - --rpc-host=0.0.0.0 + - --grpc-gateway-host=0.0.0.0 + - --monitoring-host=0.0.0.0 + - --grpc-gateway-corsdomain=* + - --contract-deployment-block=0 + - --execution-endpoint=http://geth1:8551 + - --accept-terms-of-use + - --jwt-secret=/jwtsecret + - --suggested-fee-recipient=$WALLET + - --verbosity=debug + - --p2p-host-ip=$EXTERNAL_IP + - --p2p-tcp-port=13000 + - --p2p-udp-port=13000 + - --p2p-static-id + networks: + - sanchain-pos_network + ports: + - 13000:13000/tcp + - 13000:13000/udp + - 172.17.0.1:3500:3500/tcp + - 172.17.0.1:8080:8080/tcp + volumes: + - ./root_beaconchain:/data + - ./files:/files + - ./jwtsecret:/jwtsecret + depends_on: + geth1: + condition: service_started + + validator: + image: "gcr.io/prysmaticlabs/prysm/validator:stable" + command: + - --beacon-rpc-provider=beacon-chain1:4000 + - --datadir=/data + - --accept-terms-of-use + - --chain-config-file=/files/config.yml + - --wallet-dir=/files/wallet + - --wallet-password-file=/files/validator.txt + - --enable-builder + networks: + - sanchain-pos_network + volumes: + - ./root_validator:/data + - ./files:/files + depends_on: + beacon-chain1: + condition: service_started + +networks: + sanchain-pos_network: + driver: bridge + external: true + driver_opts: + com.docker.network.bridge.enable_ip_masquerade: 'false' diff --git a/env.example b/env.example new file mode 100644 index 0000000..a601170 --- /dev/null +++ b/env.example @@ -0,0 +1,4 @@ +EXTERNAL_IP=80.93.179.130 +NUM_VALIDATORS=64 +WALLET=0x3747504D37F6e7cC7622abcbB943038FFCf1dF6D +DEPOSIT_DATA=deposit_data-1694336385.json \ No newline at end of file diff --git a/files/config.yml b/files/config.yml new file mode 100644 index 0000000..8779425 --- /dev/null +++ b/files/config.yml @@ -0,0 +1,54 @@ +CONFIG_NAME: sanchain-dev +PRESET_BASE: interop + +# Genesis +GENESIS_FORK_VERSION: 0x20000089 + +# Altair +ALTAIR_FORK_EPOCH: 0 +ALTAIR_FORK_VERSION: 0x20000090 + +# Merge +BELLATRIX_FORK_EPOCH: 0 +BELLATRIX_FORK_VERSION: 0x20000091 +TERMINAL_TOTAL_DIFFICULTY: 0 + +CAPELLA_FORK_EPOCH: 2 +CAPELLA_FORK_VERSION: 0x20000092 + +# Time parameters +SECONDS_PER_SLOT: 5 +SLOTS_PER_EPOCH: 16 +SECONDS_PER_ETH1_BLOCK: 6 + +# Deposit contract +DEPOSIT_CONTRACT_ADDRESS: 0x4242424242424242424242424242424242424242 + +# validator +ETH1_FOLLOW_DISTANCE: 1024 +# 2**4 (= 16) +TARGET_AGGREGATORS_PER_COMMITTEE: 16 +# 2**0 (= 1) +RANDOM_SUBNETS_PER_VALIDATOR: 1 +# 2**8 (= 256) +EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 +# 6 (estimate from xDai mainnet) + + + +### time +MIN_ATTESTATION_INCLUSION_DELAY: 1 +# 2**4 (= 16) slots 1.87 minutes +MIN_SEED_LOOKAHEAD: 1 +# 2**2 (= 4) epochs 7.47 minutes +MAX_SEED_LOOKAHEAD: 4 +# 2**6 (= 64) epochs ~2 hours +EPOCHS_PER_ETH1_VOTING_PERIOD: 64 +# 2**13 (= 8,192) slots ~15.9 hours +SLOTS_PER_HISTORICAL_ROOT: 8192 +# 2**8 (= 256) epochs ~8 hours +MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 +# 2**8 (= 256) epochs ~8 hours +SHARD_COMMITTEE_PERIOD: 256 +# 2**2 (= 4) epochs 7.47 minutes +MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 \ No newline at end of file diff --git a/files/genesis.json b/files/genesis.json new file mode 100644 index 0000000..042ad3a --- /dev/null +++ b/files/genesis.json @@ -0,0 +1,110 @@ +{ + "config": { + "chainId": 32382, + "homesteadBlock": 0, + "daoForkSupport": true, + "eip150Block": 0, + "eip155Block": 0, + "eip158Block": 0, + "byzantiumBlock": 0, + "constantinopleBlock": 0, + "petersburgBlock": 0, + "istanbulBlock": 0, + "muirGlacierBlock": 0, + "berlinBlock": 0, + "londonBlock": 0, + "arrowGlacierBlock": 0, + "grayGlacierBlock": 0, + "shanghaiTime": 1694337287, + "terminalTotalDifficulty": 0, + "clique": { + "period": 5, + "epoch": 30000 + } + }, + "nonce": "0x0", + "timestamp": "0x64fd8867", + "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000123463a4b065722e99115d6c222f267d9cabb5240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gasLimit": "0x1c9c380", + "difficulty": "0x1", + "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "coinbase": "0x0000000000000000000000000000000000000000", + "alloc": { + "1cbd3b2770909d4e10f157cabc84c7264073c9ec": { + "balance": "0x21e19e0c9bab2400000" + }, + "23618e81e3f5cdf7f54c3d65f7fbc0abf5b21e8f": { + "balance": "0x21e19e0c9bab2400000" + }, + "2546bcd3c84621e976d8185a91a922ae77ecec30": { + "balance": "0x21e19e0c9bab2400000" + }, + "3747504d37f6e7cc7622abcbb943038ffcf1df6d": { + "balance": "0x43c33c1937564800000" + }, + "3c44cdddb6a900fa2b585dd299e03d12fa4293bc": { + "balance": "0x21e19e0c9bab2400000" + }, + "405feda43494812ccfe727e79ac59e3fab389509": { + "balance": "0x21e19e0c9bab2400000" + }, + "4242424242424242424242424242424242424242": { + "code": "0x60806040526004361061003f5760003560e01c806301ffc9a71461004457806322895118146100b6578063621fd130146101e3578063c5f2892f14610273575b600080fd5b34801561005057600080fd5b5061009c6004803603602081101561006757600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061029e565b604051808215151515815260200191505060405180910390f35b6101e1600480360360808110156100cc57600080fd5b81019080803590602001906401000000008111156100e957600080fd5b8201836020820111156100fb57600080fd5b8035906020019184600183028401116401000000008311171561011d57600080fd5b90919293919293908035906020019064010000000081111561013e57600080fd5b82018360208201111561015057600080fd5b8035906020019184600183028401116401000000008311171561017257600080fd5b90919293919293908035906020019064010000000081111561019357600080fd5b8201836020820111156101a557600080fd5b803590602001918460018302840111640100000000831117156101c757600080fd5b909192939192939080359060200190929190505050610370565b005b3480156101ef57600080fd5b506101f8610fd0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023857808201518184015260208101905061021d565b50505050905090810190601f1680156102655780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027f57600080fd5b50610288610fe2565b6040518082815260200191505060405180910390f35b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061036957507f85640907000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b603087879050146103cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806116ec6026913960400191505060405180910390fd5b60208585905014610428576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806116836036913960400191505060405180910390fd5b60608383905014610484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061175f6029913960400191505060405180910390fd5b670de0b6b3a76400003410156104e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806117396026913960400191505060405180910390fd5b6000633b9aca0034816104f457fe5b061461054b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806116b96033913960400191505060405180910390fd5b6000633b9aca00348161055a57fe5b04905067ffffffffffffffff80168111156105c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806117126027913960400191505060405180910390fd5b60606105cb82611314565b90507f649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c589898989858a8a610600602054611314565b60405180806020018060200180602001806020018060200186810386528e8e82818152602001925080828437600081840152601f19601f82011690508083019250505086810385528c8c82818152602001925080828437600081840152601f19601f82011690508083019250505086810384528a818151815260200191508051906020019080838360005b838110156106a657808201518184015260208101905061068b565b50505050905090810190601f1680156106d35780820380516001836020036101000a031916815260200191505b508681038352898982818152602001925080828437600081840152601f19601f820116905080830192505050868103825287818151815260200191508051906020019080838360005b8381101561073757808201518184015260208101905061071c565b50505050905090810190601f1680156107645780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390a1600060028a8a600060801b6040516020018084848082843780830192505050826fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260100193505050506040516020818303038152906040526040518082805190602001908083835b6020831061080e57805182526020820191506020810190506020830392506107eb565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610850573d6000803e3d6000fd5b5050506040513d602081101561086557600080fd5b8101908080519060200190929190505050905060006002808888600090604092610891939291906115da565b6040516020018083838082843780830192505050925050506040516020818303038152906040526040518082805190602001908083835b602083106108eb57805182526020820191506020810190506020830392506108c8565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa15801561092d573d6000803e3d6000fd5b5050506040513d602081101561094257600080fd5b8101908080519060200190929190505050600289896040908092610968939291906115da565b6000801b604051602001808484808284378083019250505082815260200193505050506040516020818303038152906040526040518082805190602001908083835b602083106109cd57805182526020820191506020810190506020830392506109aa565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610a0f573d6000803e3d6000fd5b5050506040513d6020811015610a2457600080fd5b810190808051906020019092919050505060405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310610a8e5780518252602082019150602081019050602083039250610a6b565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610ad0573d6000803e3d6000fd5b5050506040513d6020811015610ae557600080fd5b810190808051906020019092919050505090506000600280848c8c604051602001808481526020018383808284378083019250505093505050506040516020818303038152906040526040518082805190602001908083835b60208310610b615780518252602082019150602081019050602083039250610b3e565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610ba3573d6000803e3d6000fd5b5050506040513d6020811015610bb857600080fd5b8101908080519060200190929190505050600286600060401b866040516020018084805190602001908083835b60208310610c085780518252602082019150602081019050602083039250610be5565b6001836020036101000a0380198251168184511680821785525050505050509050018367ffffffffffffffff191667ffffffffffffffff1916815260180182815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310610c935780518252602082019150602081019050602083039250610c70565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610cd5573d6000803e3d6000fd5b5050506040513d6020811015610cea57600080fd5b810190808051906020019092919050505060405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310610d545780518252602082019150602081019050602083039250610d31565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610d96573d6000803e3d6000fd5b5050506040513d6020811015610dab57600080fd5b81019080805190602001909291905050509050858114610e16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605481526020018061162f6054913960600191505060405180910390fd5b6001602060020a0360205410610e77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061160e6021913960400191505060405180910390fd5b60016020600082825401925050819055506000602054905060008090505b6020811015610fb75760018083161415610ec8578260008260208110610eb757fe5b018190555050505050505050610fc7565b600260008260208110610ed757fe5b01548460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310610f335780518252602082019150602081019050602083039250610f10565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610f75573d6000803e3d6000fd5b5050506040513d6020811015610f8a57600080fd5b8101908080519060200190929190505050925060028281610fa757fe5b0491508080600101915050610e95565b506000610fc057fe5b5050505050505b50505050505050565b6060610fdd602054611314565b905090565b6000806000602054905060008090505b60208110156111d057600180831614156110e05760026000826020811061101557fe5b01548460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310611071578051825260208201915060208101905060208303925061104e565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa1580156110b3573d6000803e3d6000fd5b5050506040513d60208110156110c857600080fd5b810190808051906020019092919050505092506111b6565b600283602183602081106110f057fe5b015460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061114b5780518252602082019150602081019050602083039250611128565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa15801561118d573d6000803e3d6000fd5b5050506040513d60208110156111a257600080fd5b810190808051906020019092919050505092505b600282816111c057fe5b0491508080600101915050610ff2565b506002826111df602054611314565b600060401b6040516020018084815260200183805190602001908083835b6020831061122057805182526020820191506020810190506020830392506111fd565b6001836020036101000a0380198251168184511680821785525050505050509050018267ffffffffffffffff191667ffffffffffffffff1916815260180193505050506040516020818303038152906040526040518082805190602001908083835b602083106112a55780518252602082019150602081019050602083039250611282565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa1580156112e7573d6000803e3d6000fd5b5050506040513d60208110156112fc57600080fd5b81019080805190602001909291905050509250505090565b6060600867ffffffffffffffff8111801561132e57600080fd5b506040519080825280601f01601f1916602001820160405280156113615781602001600182028036833780820191505090505b50905060008260c01b90508060076008811061137957fe5b1a60f81b8260008151811061138a57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806006600881106113c657fe5b1a60f81b826001815181106113d757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060056008811061141357fe5b1a60f81b8260028151811061142457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060046008811061146057fe5b1a60f81b8260038151811061147157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806003600881106114ad57fe5b1a60f81b826004815181106114be57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806002600881106114fa57fe5b1a60f81b8260058151811061150b57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060016008811061154757fe5b1a60f81b8260068151811061155857fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060006008811061159457fe5b1a60f81b826007815181106115a557fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050919050565b600080858511156115ea57600080fd5b838611156115f757600080fd5b600185028301915084860390509450949250505056fe4465706f736974436f6e74726163743a206d65726b6c6520747265652066756c6c4465706f736974436f6e74726163743a207265636f6e7374727563746564204465706f7369744461746120646f6573206e6f74206d6174636820737570706c696564206465706f7369745f646174615f726f6f744465706f736974436f6e74726163743a20696e76616c6964207769746864726177616c5f63726564656e7469616c73206c656e6774684465706f736974436f6e74726163743a206465706f7369742076616c7565206e6f74206d756c7469706c65206f6620677765694465706f736974436f6e74726163743a20696e76616c6964207075626b6579206c656e6774684465706f736974436f6e74726163743a206465706f7369742076616c756520746f6f20686967684465706f736974436f6e74726163743a206465706f7369742076616c756520746f6f206c6f774465706f736974436f6e74726163743a20696e76616c6964207369676e6174757265206c656e677468a2646970667358221220230afd4b6e3551329e50f1239e08fa3ab7907b77403c4f237d9adf679e8e43cf64736f6c634300060b0033", + "balance": "0x0" + }, + "5678e9e827b3be0e3d4b910126a64a697a148267": { + "balance": "0x43c33c1937564800000" + }, + "70997970c51812dc3a010c7d01b50e0d17dc79c8": { + "balance": "0x21e19e0c9bab2400000" + }, + "71be63f3384f5fb98995898a86b02fb2426c5788": { + "balance": "0x21e19e0c9bab2400000" + }, + "8626f6940e2eb28930efb4cef49b2d1f2c9c1199": { + "balance": "0x21e19e0c9bab2400000" + }, + "90f79bf6eb2c4f870365e785982e1f101e93b906": { + "balance": "0x21e19e0c9bab2400000" + }, + "976ea74026e726554db657fa54763abd0c3a0aa9": { + "balance": "0x21e19e0c9bab2400000" + }, + "9965507d1a55bcc2695c58ba16fb37d819b0a4dc": { + "balance": "0x21e19e0c9bab2400000" + }, + "a0ee7a142d267c1f36714e4a8f75612f20a79720": { + "balance": "0x21e19e0c9bab2400000" + }, + "bcd4042de499d14e55001ccbb24a551f3b954096": { + "balance": "0x21e19e0c9bab2400000" + }, + "bda5747bfd65f08deb54cb465eb87d40e51b197e": { + "balance": "0x21e19e0c9bab2400000" + }, + "cd3b766ccdd6ae721141f452c550ca635964ce71": { + "balance": "0x21e19e0c9bab2400000" + }, + "dd2fd4581271e230360230f9337d5c0430bf44c0": { + "balance": "0x21e19e0c9bab2400000" + }, + "df3e18d64bc6a983f673ab319ccae4f1a57c7097": { + "balance": "0x21e19e0c9bab2400000" + }, + "f39fd6e51aad88f6f4ce6ab8827279cfffb92266": { + "balance": "0x21e19e0c9bab2400000" + }, + "fabb0ac9d68b0b445fb7357272ff202c5651694a": { + "balance": "0x21e19e0c9bab2400000" + }, + "ff47046f8bc8203eba036d37122998071be6ffcf": { + "balance": "0x21e19e0c9bab2400000" + } + }, + "number": "0x0", + "gasUsed": "0x0", + "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "baseFeePerGas": null, + "excessBlobGas": null, + "blobGasUsed": null +} \ No newline at end of file diff --git a/files/genesis.ssz b/files/genesis.ssz new file mode 100644 index 0000000000000000000000000000000000000000..3825ac325a1b61a73b5a06b754b9c7369a372738 GIT binary patch literal 2745969 zcmeI*36#%e|M2mVF|x~UQrWU(-^!9Llw?VE*|JCWZS33F_ninaV>g({78!~WViJ>O zN@XXMxJ8ra?)jhpx$oz{cy!M1KL2x`=QZaj=OkCXkNN$s>owQ+Go8jKwh#LI$F~=k z94*xPqZaQCO3^OG$OE@u*-)!POqruKYpt7>Zti7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim} z0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7j zD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUg zfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7> z3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36A zpnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim} z0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7j zD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUg zfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7> z3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36A zpnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim} z0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7j zD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUg zfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7> z3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36A zpnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim} z0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7j zD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUg zfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7> z3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36A zpnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim} z0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7j zD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUg zfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7> z3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36A zpnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim} z0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7j zD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUg zfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7> z3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36A zpnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim} z0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7j zD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUg zfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7> 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