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

eth_call Returned "Execution reverted" Error, Since "input" Is Not Supported as a Parameter in quorum-test-network #7290

Closed
Koosha-E-Khorasani opened this issue Jul 3, 2024 · 8 comments
Assignees
Labels
good first issue Good for newcomers RPC

Comments

@Koosha-E-Khorasani
Copy link

Koosha-E-Khorasani commented Jul 3, 2024

Description

Hi everyone!
I believe the eth_call method in the JSON-RPC server should support both "input" and "data" as parameters for sending the hash of the method signature and encoded parameters. Currently, in Besu, only "data" is supported. However, due to the recent version of Ethereum documentation about eth_call it should be "input".

I think it would be beneficial if Besu could support input besides data. I encountered this issue while developing a Go-based dApp and needed to call a read-only method on my smart contract deployed on a Besu private network using the ethclient module.

I attached the postman results of using both input and data in Besu as parameters.

Screenshot_with_input

Screenshot_with_data

Expected behavior:
I expected to see the result.

Actual behavior:
I got "Execution reverted" error.

Versions (Add all that apply)

  • Version of quorum-test-network : [latest]

Additional Information

For People Who Faced the Same Problem:

Downgrade to go-ethereum v1.12.2.


Update:

  • The downgrading of go-ethereum is not needed. The Besu version on .env file needs to be updated. Check the last comments.
  • I changed the title from eth_call Returned "Execution reverted" Error, Since "input" Is Not Supported as a Parameter in besu to eth_call Returned "Execution reverted" Error, Since "input" Is Not Supported as a Parameter in quorum-test-network to avoid any misleading for people who might search this issue in future.
@Koosha-E-Khorasani Koosha-E-Khorasani changed the title eth_call Returned "Execution reverted" Rrror, Since "input" Is Not Supported as a Parameter in Besu eth_call Returned "Execution reverted" Error, Since "input" Is Not Supported as a Parameter in Besu Jul 3, 2024
@jframe jframe added RPC good first issue Good for newcomers labels Jul 9, 2024
@rahulbansal3005
Copy link

Hi @Koosha-E-Khorasani @jframe i am interested in this issue. If no one is doing it, could you assign this to me?

@jframe
Copy link
Contributor

jframe commented Jul 16, 2024

Hi @rahulbansal3005, I've assigned the issue to you. If you need any help reach out in the Besu contributors discord and somebody will be able to help you out.

FYI @usmansaleem

@rahulbansal3005
Copy link

@jframe Sure.

@gnence
Copy link

gnence commented Jul 23, 2024

Hi @rahulbansal3005, Can you please make it backwards compatible.

@shemnon
Copy link
Contributor

shemnon commented Jul 23, 2024

(a) Specifically what version of Besu is failing. 24.7.0? something from 2023? (Docker "latest" is not enough information)
(b) can you try again against main? PR #7323 looks like it may address the issue.

@Koosha-E-Khorasani
Copy link
Author

(a) Specifically what version of Besu is failing. 24.7.0? something from 2023? (Docker "latest" is not enough information) (b) can you try again against main? PR #7323 looks like it may address the issue.

Hi @shemnon thank you for your comment. The Besu version is "23.4.1", and as I mentioned I am using quorum-test-network latest version. If the issue is solved in the recent versions of besu, then I guess a change in quorum-test-network docker would be needed.

@shemnon
Copy link
Contributor

shemnon commented Jul 23, 2024

This has been fixed in 23.10.2. Please use a more recent version of Besu. #6094 - Both data and input (but not both at the same time) are accepted.

@Koosha-E-Khorasani
Copy link
Author

Koosha-E-Khorasani commented Jul 23, 2024

For people who face the same problem with quorum-test-network:

Based on what @shemnon mentioned, here is what I did to solve the issue I faced:

  1. I ran ./remove (everything will be removed after running this, be careful)
  2. opened .env in quorum-test-network folder.
  3. changed the version of Besu from 23.4.1 to the latest. (I changed it to 24.7.0).
  4. ran ./run .
  5. Both input and data, as parameters for sending the hash of the method signature and encoded parameters, are working.

I also checked with go-ethereuem V1.14.7, I did connect to my smart contarcts on qurom-test-net (with besu 24.7.0) without any problem so far.

Here is a screenshot of my .env file:
Screenshot from 2024-07-23 13-23-41

Here are screenshots of postman:
Screenshot from 2024-07-23 13-23-15
Screenshot from 2024-07-23 13-22-56

Thank you for your efforts @jframe @rahulbansal3005.

@Koosha-E-Khorasani Koosha-E-Khorasani changed the title eth_call Returned "Execution reverted" Error, Since "input" Is Not Supported as a Parameter in Besu eth_call Returned "Execution reverted" Error, Since "input" Is Not Supported as a Parameter in quorum-test-network Jul 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers RPC
Projects
None yet
Development

No branches or pull requests

5 participants