hyperledger / besu

An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
https://www.hyperledger.org/projects/besu
Apache License 2.0
1.49k stars 811 forks source link

Allowing Besu to parse a Geth-style genesis like other clients #7273

Open non-fungible-nelson opened 3 months ago

non-fungible-nelson commented 3 months ago

Description

As a node operator, I would like Besu to be able to parse configs in the same way as other clients, so interoperability testing and multi-client network operation is simpler.

macfarla commented 2 months ago

@non-fungible-nelson are there testing vectors for this? What doesn't work right now?

non-fungible-nelson commented 2 months ago

https://discord.com/channels/595666850260713488/1252403393461489704/1252606839787622492

not much context to go on -- we should ask @shemnon or barnabas when is back from OOO

non-fungible-nelson commented 2 months ago

https://github.com/ethpandaops/pectra-devnets/tree/master/network-configs/devnet-2/metadata/genesis.json https://github.com/ethpandaops/pectra-devnets/blob/master/network-configs/devnet-2/metadata/besu.json

the above shows that two separate genesis files are needed for devnet-2, in this case. one for Besu, the other for the remaining clients.

non-fungible-nelson commented 2 months ago

Reference: Ephemery https://github.com/ephemery-testnet/ephemery-resources

fab-10 commented 1 week ago

@non-fungible-nelson in case the extra parsing, needed to detect in which format the genesis file is, will impact in a significant way the work done to parse large genesis file, could be an option to introduce a new dedicated option (for example --standard-genesis-file) when the user want to use the Geth-style genesis, and keeping the current --genesis-file as the optimized path?