Skip to content

Conversation

bhartnett
Copy link
Contributor

This adds a new statelessProcessBlock function which executes a block in memory by using the execution witness to populate an in memory database. The aristo putSubtrie function is used load the subtrie of trie nodes into the database before executing the block. The witness is validated for correctness before starting the execution. After executing the block the stateroot is compared to the stateroot in the header of the current block.

In order to verify the correctness of the generated execution witnesses, stateless execution can be enabled at runtime by setting the --stateless-witness-validation=true flag (note that this flag depends on the --stateless-provider=true being set as well).

Copy link
Contributor

@advaita-saha advaita-saha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you want the stateless tests in the CI you can add it as a make file target
and include it in the eest_full_test

baseFolder = "tests/fixtures"
eestType = "blockchain_tests"
eestReleases = [
"eest_stable"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are not using stable anymore
For mainnet => eest_develop
For devnet => eest_devnet

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, will update.

@bhartnett
Copy link
Contributor Author

If you want the stateless tests in the CI you can add it as a make file target and include it in the eest_full_test

Good idea, I'll add the make file target but I won't add it to eest_full_test yet until I resolve all the failures.

@bhartnett
Copy link
Contributor Author

Here are the current test results when running the eest_develop blockchain tests with stateless execution enabled:

[Summary] 3122 tests run (217.9s): 3081 OK, 41 FAILED, 0 SKIPPED

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