erigon icon indicating copy to clipboard operation
erigon copied to clipboard

Erigon RPC service consistency against other client implementations #1

Open JosephK95 opened this issue 3 years ago • 3 comments

(Updated 22.08.11.)

Sorry, I moved the remaining parts of this report to the following link: https://github.com/ethereum/execution-apis/issues/286 Please check for the edit history to see my original report.


Hi all,

I am working on a project that validates whether Erigon behaves consistently to other Ethereum client implementations against RPC requests. (I will refer to the implementations as node A, B and C here.)

I would appreciate it if you can clarify whether the following results are intentional or require patches.

Thank you so much in advance and please let me know if there is anything necessary.

System information

Erigon version: 2022.07.4-alpha-d88fc824 OS & Version: Ubuntu 20.04.4 LTS Node.js / web3.js versions: v16.15.0 / v1.7.3

Q1. getPendingTransactions support

  • (Erigon) returns an error: "the method ... not available"
  • (Node A,B) returns []

Q2. getProof support

  • (Erigon) returns an error: ".. is currently not implemented .."
  • (Node A,B) returns an account object

Q3. getAccounts support

  • (Erigon) returns an error: "the method has been deprecated.."
  • (Node A,B,C) returns a list of accounts

Steps to reproduce the behaviour

  1. Please download all the .tar.gz files below. https://drive.google.com/file/d/1_BHxLaS1rFHWFt3q-PEOFlMqZf4JuwZb/view?usp=sharing https://drive.google.com/file/d/1uMorsT9bGp0-uVq44rJKW4ToHC2MIuuQ/view?usp=sharing https://drive.google.com/file/d/1BpLZOwBs1002HrSR_NTHeN1rR83TShhd/view?usp=sharing test_cases.tar.gz
  2. Untar the downloaded .tar.gz files. They contain valid chain data and test cases that are semi-automatically generated by our project techniques.
  3. Check out DATA_DIR and TC_FILE for your Q{n} from the description below.
  4. Execute Erigon binary with the following flags: erigon --datadir DATA_DIR --http.port 8547 --http --http.api eth --networkid 15 --nodiscover
  5. Execute the test case file: node TC_FILE
  • Q1. data-erigon-1 / TC_1659703707.js
  • Q2. data-erigon-1 / TC_1659703721.js
  • Q3. data-erigon-1 / TC_1659703767.js

JosephK95 avatar Aug 08 '22 16:08 JosephK95

Firstly, thanks so much! Super useful.

Q3 will not be implemented, it is a bad design, and even geth is removing it. The rest could be dissected and fixed.

mandrigin avatar Aug 08 '22 16:08 mandrigin

I'm super interested in this project. Is there a website or GitHub repo? I'd like to read more about it. Very interested.

tjayrush avatar Aug 08 '22 19:08 tjayrush

Thanks a lot for your interests. We plan to publicly open our GitHub repo in the near future. Hope our project contributes to the implementation of Erigon. :)

JosephK95 avatar Aug 09 '22 07:08 JosephK95

This issue is stale because it has been open for 40 days with no activity. Remove stale label or comment, or this will be closed in 7 days.

github-actions[bot] avatar Sep 23 '22 04:09 github-actions[bot]

This issue was closed because it has been stalled for 7 days with no activity.

github-actions[bot] avatar Oct 08 '22 03:10 github-actions[bot]