forked from ethereum/go-ethereum
-
Notifications
You must be signed in to change notification settings - Fork 277
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
feat(snapshot): provide snapshot structure acceleration #324
Open
mortal123
wants to merge
89
commits into
develop
Choose a base branch
from
feat/snap
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
89 commits
Select commit
Hold shift + click to select a range
9485284
refactor: extract the zktrie logic into a new package, and prepare th…
mortal123 87d01e6
fix: reset the inner object for zktrie.Trie and zktrie.Secure
mortal123 8f18c57
Added tests for secure_trie_test and trie_test, skipping iterator and…
KevinYum c107000
adapt tests to zk-trie hash and encode contraints, remove benchmarks
KevinYum cbda0e0
feat: prove and verify for trie and secure trie
mortal123 ff4b17b
feat: struct BinaryPath to facilitate path representation
mortal123 406cf81
fix: proofs in statedb
mortal123 a6c009a
fix: set impl in trie
mortal123 4695cfc
fix: add zk trie magic bytes back
mortal123 fecd2f7
chore: secure trie add sanity checks for storage and account update
mortal123 9030b56
feat: add stack trie implementation
mortal123 85d7085
add test cases of proof_test for Trie
KevinYum ceeff53
fix: separate the use case of trie.Update and trie.UpdateAccount
mortal123 d9620b9
add test cases of proof_test for SecureTrie
KevinYum d77935d
fix: assign flag for leaf node in stack trie
mortal123 31ad213
chore: remove comments
mortal123 8c6e7dd
fix: fix bit order when update trie
mortal123 cf1d46b
chore: add key check in stacktrie
mortal123 095a0c0
add test cases of stacktrie_test
KevinYum dc98589
chore: replace zktrie with trie
mortal123 9df7803
chore: add binary path
mortal123 3c80d49
feat: trie iterator
mortal123 0cdb57f
feat: add proof range verify
mortal123 b16a518
fix test discrepancy introduced by commit e5af6e6
KevinYum c5df8ef
fix: remove debug log
mortal123 b857a85
feat: add iterator for secure trie
mortal123 2b5c2ac
chore: add key length checker in trie and stack_trie
mortal123 bec5e8e
fix: assign root hash for node iterator
mortal123 092de1e
fix: secure trie iterator bug
mortal123 065e203
Enforce trie_test and stacktrie_test cases to have key length of 32 b…
KevinYum 1f07ad1
fix: make secure trie get key transform valid
mortal123 ef113e0
add test cases for iterator, align usage of key->secureKey conversion
KevinYum 17e9f23
fix: save the unset internal node into cache
mortal123 826c66a
fix: range proof verification
mortal123 0eedd3a
fix: add trie update with kind method
mortal123 f217e05
chore: delete the snapshot disable
mortal123 43db248
fix: correcting account marshalling
mortal123 df91a1e
fix: check keys range in range proof verify
mortal123 945789f
add test cases for rangeVerify
KevinYum 4c6e214
chore: fix minor issues and move poseidon hash into crypto packages
mortal123 48d8eaf
add basic benchmarks for geth and snap feature for comparison
KevinYum 4de19cc
add snap sync
mortal123 895ac7f
fix iterator value decode bug
mortal123 fd8382d
enable cleans cache for trie database
mortal123 1816186
adopt proof tracer with secure trie
mortal123 6110df9
fix empty root hash
mortal123 c1339d8
allow snapshot diff layer do the accumulation when snapshot is genera…
mortal123 0e21b17
fix file import
mortal123 c67e3e4
make tests compilable
mortal123 b5850c2
dump log if zktrie is disabled
mortal123 af4ffc7
fix bugs for testing
mortal123 d596e08
add range proof test for account trie
KevinYum 53e58c1
fix the checking method for trie node
mortal123 d7fb7c2
chore: go fmt with imports
mortal123 0120513
add node hash method
mortal123 a34513d
bug fix
mortal123 d61cef6
bug fix for zktrie proof
mortal123 ace8416
add test cases to sync(healer)
KevinYum 0290fab
provide toString function for trie
mortal123 c5f6453
fix bug for hashing node proof key
mortal123 4ffc934
fix test code generate_test.go and genesis_test.go, handle correspond…
mortal123 6ca5353
fix testcases in statedb_test.go
mortal123 5bb7436
change compact encoding
mortal123 ee908e3
fix bugs and testcase (state sync)
mortal123 811e93a
disable DESTRUCT opcode testcase
mortal123 b3dce78
correcting the judgement of empty zktrie
mortal123 50640b3
add test cases for snap/sync_test (not passed yet)
KevinYum 1a7417d
fix bugs for testcase and stacktrie
mortal123 7ada128
shrink test size for snap/sync_test to adapt poor trie performance
KevinYum 239c07a
fix bugs for testcase
mortal123 77c4db5
fix tracer testcase
mortal123 fc90758
fix api testcase
mortal123 fee15c7
fix testcases in downloader and enable fast sync
mortal123 9dc5d2d
change the tree cap strategy
mortal123 71c9917
skip testcase related to zktrie database
mortal123 29b2943
Merge branch 'develop' of https://github.com/scroll-tech/go-ethereum …
mortal123 838aaaa
chore for pr check
mortal123 0fc49c5
makefile tests include zktrie
mortal123 868258f
fix bugs related account decode
mortal123 39b9d99
fix bugs of sync depth
mortal123 35cb810
add comment
mortal123 5deab05
enable zktrie snap sync
mortal123 ed09860
add benchmark for stacktrie
mortal123 987d7ad
eliminate inappropriate fmt printf
mortal123 1009e84
fix comment style in core/blockchain_test.go
mortal123 0059a2a
fix comment style
mortal123 ec5c3a9
merge from develop
mortal123 339e03f
fix account encoding in cmd snapshot
mortal123 8c6618f
Merge tag 'scroll-v3.3.1' of https://github.com/scroll-tech/go-ethere…
mortal123 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next
Next commit
refactor: extract the zktrie logic into a new package, and prepare th…
…e module scaffolding required by the snapshot feature
- Loading branch information
commit 9485284ef3ed52003343555946067d5e91c0c337
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So we totally drop any options for non-zktrie db within this PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I understand that there is no reason for us to use the original trie for related operations involving state? However, in some places where block, transaction and receipt trie are calculated, the original trie is still used