OffchainLabs / eth-pos-devnet

MIT License
102 stars 124 forks source link

Fatal errors when trying to run container or going through the tutorial #49

Open sergey-msu opened 1 month ago

sergey-msu commented 1 month ago

I tried to raise private EVM PoS node with geth and Prysm via docker and the tutorial. Unfortunately they both fail with the error

FATA[0000] Could not generate beacon chain genesis state error="could not set config params: version 0x05000000 for fork electra in config interop conflicts with existing config named=mainnet: configset cannot add config with conflicting fork version schedule" prefix=genesis

during the command execution

/prysmctl testnet generate-genesis --fork capella --num-validators 64 --genesis-time-delay 600 --chain-config-file config.yml --geth-genesis-json-in genesis.json --geth-genesis-json-out genesis.json --output-ssz genesis.ssz

If I remove --chain-config-file config.yml option, I fails further on the line

./geth --datadir=gethdata init genesis.json

with the error ERROR[05-09|12:05:38.895] Head block is not reachable.

And finally, if we try to force run beacon-chain, its also fails with the previous conflicting fork error. What is the reason and how can I fix it? I'm using Ubuntu 20.04

muratom commented 1 month ago

@sergey-msu, Hi! I have added a line below to the consensus/config.yaml. This has fixed the problem.

ELECTRA_FORK_VERSION: 0x20000094

Unfortunately, I'm new to the Ethereum and a blockchain and can't tell you the reason of the problem.

I have figured out how to fix the problem looking in the log message version 0x05000000 for fork electra. If we comment line with DENEB_FORK_VERSION then the message will contain string version 0x04000000 for fork deneb. So I've thought that I should add something related to electra =)

sergey-msu commented 1 month ago

@muratom well, yes. It seems that the solution was literally to add Electra fork version to the config file. This is a new Ethereum fork that for some reason haven't been added yet to the config.yaml file. Thank you!

wawrzek commented 1 month ago

An alternative is to lock the prysmctl image to a version pre inclusion of Electra settings, e.g:

image: "gcr.io/prysmaticlabs/prysm/cmd/prysmctl@sha256:4ff675463286ecc0e3efbbdbfb4887697a5c17b4369644b2eb0943608c15465d"