Consensys / linea-besu

Linea implementation based on Besu
https://www.hyperledger.org/projects/besu
Apache License 2.0
65 stars 57 forks source link

Troubleshooting Errors When Configuring the MERGE Protocol in zkBESU Repository #16

Open UsmArs opened 1 year ago

UsmArs commented 1 year ago

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!

UsmArs commented 1 year ago

Hi, I wanted to execute a private transaction in linea network. this is what I have found with the help of BARD. Can you please re confirm

import requests

url = "https://rpc.linea.build/"

headers = { "Content-Type": "application/json" }

payload = { "method": "linea_sendTransaction", "params": [ { "from": "0x1234567890ABCDEF1234567890ABCDEF12345678", "to": "0x9876543210FEDCBA9876543210FEDCBA98765432", "value": 1000000000000000000, "data": "", "private": True } ] }

response = requests.post(url, headers=headers, json=payload)

if response.status_code == 200: print("Transaction sent successfully!") else: print("Error sending transaction:", response.status_code)

github-actions[bot] commented 1 week ago

This issue is stale because it has been open for 6 months with no activity.