-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
E23 commitment #4947
E23 commitment #4947
Conversation
4996b52
to
21e77ef
Compare
Get thruough bunch of bugs with EF merging and updating ReadWrapper23 aggregator context, currently stumbling on issue with commitment evaluation after merge - probably some issue with merging commitment domain (since root mismatch happens after agggregator merges only, and if I increase amount of transactions before merge - root mismatch happens latter. Investigating on it. For EF merging I added min heap which ensures that merged ef will contain unique elements from both EF. |
what is |
@AskAlexSharov Elias-Fano encoded offsets If i disable pruning, issue is gone: actual value with nonce=5 has been deleted during prune while nonce=1 is not removed. prune takes as arguments current aggregation step, txFrom, txTo. In my case step=25, account value with n=5 has step 25 and value with n=1 has step 22. I'm not sure about how pruning was designed to be, but probably if there are several values for that key with different |
branch cleaned and rebased up to current devel branch |
Current state is that:
Example of crash log:
|
Currently, both mainnet and goerli commitment works, but merge issue mentioned above still happens. Depending on aggregation step, requires several merges before crash. For |
Added ability to restart after successful merge. I decided do not leave not-merged data in db, better to merge everything at time and be sure that db\hist are coherent. Fixed elias-fano panic (as far as I could see during testing). |
36e18a4
to
a37e2fa
Compare
Fixed pruning db by verifying that pruned step is not the latest step in db before delete. Added to commitment two keys - For commitment used both approaches - read directly by keys from state and accumulate state updates before evaluation. Now they are both enabled and checks that both methods produces similar hashes. |
eef8d6d
to
2a59e44
Compare
fixed mainnet genesis roothash, get back with update processing erigon23 replay after restart, index lookup fix bumped erigon-lib
5f35ebd
to
03f449e
Compare
could solve merge conflict only after merge of ledgerwatch/erigon-lib#647 |
it's ok to refer to non-merged erigon-lib branch from this PR. |
Yes but it doesn't work for current situation - i'm trying to keep up erigon-lib commitment branch with main, but it takes time to verify build after rebasing, so branch inevitably not as fresh as trunk. |
c1021e1
to
3df1861
Compare
added commitment to aggregation run in erigon22
fixed allSnapshot database reading in erigon2
fixed genesis initialization
Currently commitment doesn't provides correct hashes after 3 blocks due to reading from state or history