Skip to content

Conversation

@canepat
Copy link

@canepat canepat commented Oct 16, 2025

Add flag to enable commitment history in Erigon: this is necessary to fix some failing rpc-compat tests which require historical state root computation

@fjl
Copy link
Collaborator

fjl commented Oct 17, 2025

I'm curious, which tests are these? The rpc-compat tests really should not require any special settings in the client.

@canepat
Copy link
Author

canepat commented Oct 18, 2025

For example, they are eth_simulateV1 tests executing on any historical block, thus computing state root for simulated blocks on top of historical state, e.g. eth_simulateV1/ethSimulate-empty-with-block-num-set-firstblock and eth_simulateV1/ethSimulate-empty-with-block-num-set-minusone.
Another example are eth_getTransactionReceipt and eth_getBlockReceipts tests on pre-Byzantium blocks, which require root field (a.k.a. PostState) in transaction receipt.

Anyway, commitment history in Erigon is currently experimental only because it's a recent addition, so it won't be special in the near future 🙂

@fjl
Copy link
Collaborator

fjl commented Oct 19, 2025

The requirement for archive node in tests is not intentional, that's why I'm asking. I want the tests to be runnable in the node's default configuration if at all possible.

For the tests you mention, we can definitely change eth_simulate tests to not require executing on top of old blocks. For the receipt tests, it's a bit strange for me that this would require re-execution, since the root should be stored to the database as an output of execution. At least that's what all other clients do.

@canepat
Copy link
Author

canepat commented Oct 24, 2025

The requirement for archive node in tests is not intentional, that's why I'm asking. I want the tests to be runnable in the node's default configuration if at all possible.

I completely understand this. We can remove any non-intentional archive requirement by moving the tests on newer blocks, as you suggest.

For the tests you mention, we can definitely change eth_simulate tests to not require executing on top of old blocks.

OK that's fine with me. We could also consider moving forward eth_getTransactionReceipt and eth_getBlockReceipts tests as well for the same reason, after all it could be more interesting testing post-Byzantium receipts.

I can try to contribute on this by issuing a PR in https://github.com/ethereum/execution-apis repo next week, if you agree.

AskAlexSharov pushed a commit to erigontech/erigon that referenced this pull request Oct 31, 2025
Restore ethereum/hive usage in our CI since it's important to run
against it by allowing 8 failures for `rpc-compat`.

See ethereum/hive#1355 for open discussion on
how to solve such failures.
mh0lt pushed a commit to erigontech/erigon that referenced this pull request Nov 4, 2025
Restore ethereum/hive usage in our CI since it's important to run
against it by allowing 8 failures for `rpc-compat`.

See ethereum/hive#1355 for open discussion on
how to solve such failures.
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

Successfully merging this pull request may close these issues.

2 participants