hyperledger / besu

An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
https://www.hyperledger.org/projects/besu
Apache License 2.0
1.43k stars 757 forks source link

[VERKLE] Preload stems #7206

Open matkt opened 3 weeks ago

matkt commented 3 weeks ago

PR description

Currently, trie keys generation will gather all transactions data and generate a single large batch of trie keys at once. However, there are already mechanisms implemented in Besu to preload those trie keys in a background thread during block processing.

This PR generates the different triekeys in the background in order to have a maximum of triekeys already calculated at the end of the block

Fixed Issue(s)

Thanks for sending a pull request! Have you done the following?

Locally, you can run these tests to catch failures early:

matkt commented 2 weeks ago

I updated the code in order to save stem , this one depends on this besu-verkle-trie PR https://github.com/hyperledger/besu-verkle-trie/pull/64