Description
Hi there, I want to explore and become a contributor, I've cloned the repo from zkbesu and I'm trying to create the new network with a new genesis file using the protocol MERGE (reference: consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge ) at the place of ibft2, by supposing the besu prerequisites, but it causes an error, genesis file and the error is in the following:
Genesis
{
"config" : {
"chainId" : 1234,
"berlinBlock" : 0,
"merge" : {
"blockperiodseconds" : 2,
"epochlength" : 30000,
"requesttimeoutseconds" : 4
}
},
"nonce" : "0x0",
"timestamp" : "0x58ee40ba",
"gasLimit" : "0x47b760",
"difficulty" : "0x1",
"mixHash" : "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
"coinbase" : "0x00000000000000000000000000000000000000000",
"alloc" : {
"0x00000000000000000000000000000000000000000" : {
"balance" : "90000000000000000000000"
},
"0x00000000000000000000000000000000000000000" : {
"balance" : "90000000000000000000000"
}
},
"extraData" : "0xf87ea00000000000000000000000000000000000000000000000000000000000000000f854943a7289574dbc5bcf27e3ac4e6bf97bf5f5c8dc3294a9>
}
Error
By running the following command:
besu --data-path=data --genesis-file=../genesis.json --rpc-http-enabled --rpc-http-api=ETH,NET --host-allowlist="*" --rpc-http-cors-origins="all"
2023-10-09 14:09:48.106+08:00 | main | INFO | Besu | Starting Besu
2023-10-09 14:09:48.673+08:00 | main | INFO | Besu |
####################################################################################################
# #
# Besu version 23.7.4-dev-90bdd3cb #
# #
# Configuration: #
# Network: Custom genesis file specified #
# Network Id: 2626 #
# Data storage: Forest #
# Sync mode: Full #
# RPC HTTP APIs: ETH,NET #
# RPC HTTP port: 8545 #
# Using LAYERED transaction pool implementation #
# #
# Host: #
# Java: openjdk-java-17 #
# Maximum heap size: 3.91 GB #
# OS: linux-x86_64 #
# glibc: 2.31 #
# jemalloc: 5.2.1-0-gea6b3e973b477b8061e0076bb257dbd7f3faa756 #
# Total memory: 15.62 GB #
# CPU cores: 8 #
# #
####################################################################################################
2023-10-09 14:09:48.675+08:00 | main | INFO | Besu | Connecting to 0 static nodes.
2023-10-09 14:09:48.676+08:00 | main | INFO | Besu | Security Module: localfile
2023-10-09 14:09:48.716+08:00 | main | INFO | Besu | Using the native implementation of alt bn128
2023-10-09 14:09:48.751+08:00 | main | INFO | Besu | Using the native implementation of modexp
2023-10-09 14:09:48.752+08:00 | main | INFO | Besu | Using the native implementation of the signature algorithm
2023-10-09 14:09:48.756+08:00 | main | INFO | Besu | Using the native implementation of the blake2bf algorithm
2023-10-09 14:09:48.920+08:00 | main | ERROR | Besu | Failed to start Besu
picocli.CommandLine$ExecutionException: Unknown consensus mechanism defined
at org.hyperledger.besu.cli.BesuCommand.buildController(BesuCommand.java:2232)
at org.hyperledger.besu.cli.BesuCommand.initController(BesuCommand.java:2218)
at org.hyperledger.besu.cli.BesuCommand.run(BesuCommand.java:1494)
at picocli.CommandLine.executeUserObject(CommandLine.java:2026)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
at picocli.CommandLine.execute(CommandLine.java:2170)
at org.hyperledger.besu.cli.util.ConfigOptionSearchAndRunHandler.handle(ConfigOptionSearchAndRunHandler.java:62)
at org.hyperledger.besu.cli.util.ConfigOptionSearchAndRunHandler.handle(ConfigOptionSearchAndRunHandler.java:33)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
at picocli.CommandLine.execute(CommandLine.java:2170)
at org.hyperledger.besu.cli.BesuCommand.parse(BesuCommand.java:1660)
at org.hyperledger.besu.cli.BesuCommand.parse(BesuCommand.java:1454)
at org.hyperledger.besu.Besu.main(Besu.java:39)
Caused by: java.lang.IllegalArgumentException: Unknown consensus mechanism defined
at org.hyperledger.besu.controller.BesuController$Builder.fromGenesisConfig(BesuController.java:374)
at org.hyperledger.besu.controller.BesuController$Builder.fromEthNetworkConfig(BesuController.java:324)
at org.hyperledger.besu.cli.BesuCommand.getControllerBuilder(BesuCommand.java:2244)
at org.hyperledger.besu.cli.BesuCommand.buildController(BesuCommand.java:2230)
... 18 more
Unknown consensus mechanism defined
And when I use MERGE in the command it gives me such an error.
besu --data-path=data --genesis-file=../genesis.json --rpc-http-enabled --rpc-http-api=ETH,NET,MERGE --host-allowlist="*" --rpc-http-cors-origins="all"
2023-10-09 14:14:38.584+08:00 | main | INFO | Besu | Starting Besu
2023-10-09 14:14:38.796+08:00 | main | ERROR | Besu | Failed to start Besu
picocli.CommandLine$ParameterException: Invalid value for option '--rpc-http-api': invalid entries found [MERGE]
at org.hyperledger.besu.cli.BesuCommand.validateRpcOptionsParams(BesuCommand.java:1999)
at org.hyperledger.besu.cli.BesuCommand.validateOptions(BesuCommand.java:1848)
at org.hyperledger.besu.cli.BesuCommand.run(BesuCommand.java:1491)
at picocli.CommandLine.executeUserObject(CommandLine.java:2026)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
at picocli.CommandLine.execute(CommandLine.java:2170)
at org.hyperledger.besu.cli.util.ConfigOptionSearchAndRunHandler.handle(ConfigOptionSearchAndRunHandler.java:62)
at org.hyperledger.besu.cli.util.ConfigOptionSearchAndRunHandler.handle(ConfigOptionSearchAndRunHandler.java:33)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
at picocli.CommandLine.execute(CommandLine.java:2170)
at org.hyperledger.besu.cli.BesuCommand.parse(BesuCommand.java:1660)
at org.hyperledger.besu.cli.BesuCommand.parse(BesuCommand.java:1454)
at org.hyperledger.besu.Besu.main(Besu.java:39)
Invalid value for option '--rpc-http-api': invalid entries found [MERGE]
I also have used some of the flags, by supposing that it will work and enable the zk protocol, that are listed below, but all in vain.
_--zk-evm-enabled=true_
_--zk-evm-max-proof-size=100000000
--zk-evm-log-level=DEBUG_
Is there any kind of change in flags or in the main command that I'm using to run the network node, which I haven't noticed or is there any eligibility criteria for the network or something else?
Any help or suggestion would be appreciated!