Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
UsmArs opened this issue Oct 9, 2023 · 1 comment

Comments

@UsmArs
Copy link

UsmArs commented Oct 9, 2023

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
Copy link
Author

UsmArs commented Oct 17, 2023

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant