go-ethereum/trie
Manav Darji d95c05b98a
Enable ancient block pruning (#1216)
* core/state: typo

Signed-off-by: Delweng <delweng@gmail.com>

* core/rawdb: backport from https://github.com/bnb-chain/bsc/pull/543

Signed-off-by: Delweng <delweng@gmail.com>

* eth,ethdb,node,core/state: backport from https://github.com/bnb-chain/bsc/pull/543

Signed-off-by: Delweng <delweng@gmail.com>

* eth,core: backport from https://github.com/bnb-chain/bsc/pull/543

Signed-off-by: Delweng <delweng@gmail.com>

* cmd: open db with freeze disabled

Signed-off-by: Delweng <delweng@gmail.com>

* cli: snapshot prune-block

Signed-off-by: Delweng <delweng@gmail.com>

* fix typo

Signed-off-by: Delweng <delweng@gmail.com>

* cli/snapshot: fix the issue of dup open db error

Signed-off-by: Delweng <delweng@gmail.com>

* cli/snapshot: resolve datadir and ancient before backup

Signed-off-by: Delweng <delweng@gmail.com>

* core: more prune-block log

Signed-off-by: Delweng <delweng@gmail.com>

* core: truncatetail missing f.offset

Signed-off-by: Delweng <delweng@gmail.com>

* core/rawdb: indextx adjust offset of pruned block

Signed-off-by: Delweng <delweng@gmail.com>

* core/rawdb: freezer batch should implement the offset commit, ref https://github.com/bnb-chain/bsc/pull/1005

Signed-off-by: Delweng <delweng@gmail.com>

* core: check of ancientdb, backport https://github.com/bnb-chain/bsc/pull/817

Signed-off-by: Delweng <delweng@gmail.com>

* core/state: read raw borReceipt to backup

Signed-off-by: Delweng <delweng@gmail.com>

* core/rawdb: bor receipt maybe in []Receipt or Receipt RLP format

Signed-off-by: Delweng <delweng@gmail.com>

* core/state: typo and error msg

Signed-off-by: Delweng <delweng@gmail.com>

* core/rawdb: offSet -> offset

Signed-off-by: Delweng <delweng@gmail.com>

* cli/snapshot: comment

Signed-off-by: Delweng <delweng@gmail.com>

* cli/snapshot: add prune-block doc

Signed-off-by: Delweng <delweng@gmail.com>

* docs: add prune-block document

Signed-off-by: Delweng <delweng@gmail.com>

* core/rawdb: print wrong bor-receipt length

Signed-off-by: Delweng <delweng@gmail.com>

* internal/cli: add snapshot prune block tests (referenced from bsc's PR)

* improve errors

* cmd, core, eth, internal: fix lint

* internal/cli: refactor snapshot prune block test

* fix linters in tests

* internal/cli: add inspect-ancient-db command, update docs

* pruner: use a generic function for simplification

* internal/cli: fixes for inspect-db command

* internal/cli: improve pruning tests

* core/rawdb: update end block calculation logic in inspect command

* core/rawdb: improve checks db initialisation

* core/rawdb: remove offset check

* update mocks for span, ethdb and add command in makefile

* docs/cli: update docs with inspect command

* go mod tidy

* refactor and resolve conflicts

* resolve more conflicts

* refactor

* explicitly read node for hash scheme

* add check for hash scheme, fix tests

* fix typo

* update docs and add warning

* raise error if pbss is enabled

* revert read raw bor receipt change

* consensus/bor: handle nil header case in get root hash

* address comments

* core/rawdb: check chain continuity by matching parent hash

* core/rawdb: account for pruned ancient blocks

* go mod tidy

* fix tests

* fix tests

---------

Signed-off-by: Delweng <delweng@gmail.com>
Co-authored-by: Delweng <delweng@gmail.com>
2024-05-09 11:19:34 +05:30
..
testutil all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
triedb Enable ancient block pruning (#1216) 2024-05-09 11:19:34 +05:30
trienode Merge upstream_merge branch to develop (#1229) 2024-04-29 12:21:11 +02:00
triestate all: activate pbss as experimental feature (#26274) 2023-08-10 22:21:36 +03:00
utils Merge upstream_merge branch to develop (#1229) 2024-04-29 12:21:11 +02:00
committer.go merge geth v1.12.2 into develop 2023-08-18 14:05:34 +05:30
database.go Merge upstream_merge branch to develop (#1229) 2024-04-29 12:21:11 +02:00
database_test.go core, trie: cleanup trie database (#28062) 2023-09-07 21:17:14 +08:00
encoding.go Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into shivam/upstream-geth-1.13.5 2023-12-15 13:55:57 +05:30
encoding_test.go Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into shivam/upstream-geth-1.13.5 2023-12-15 13:55:57 +05:30
errors.go merge geth v1.12.2 into develop 2023-08-18 14:05:34 +05:30
hasher.go Merge upstream_merge branch to develop (#1229) 2024-04-29 12:21:11 +02:00
iterator.go Merge upstream_merge branch to develop (#1229) 2024-04-29 12:21:11 +02:00
iterator_test.go Merge upstream_merge branch to develop (#1229) 2024-04-29 12:21:11 +02:00
node.go merge geth v1.12.2 into develop 2023-08-18 14:05:34 +05:30
node_enc.go merge geth v1.12.2 into develop 2023-08-18 14:05:34 +05:30
node_test.go dev: fix: most of wsl lint issues 2023-06-15 15:48:26 +02:00
preimages.go dev: fix: more wsl lint issues 2023-06-15 15:10:57 +02:00
proof.go Merge branch 'develop' into shivam/upstream-geth-1.13.5 2024-02-08 18:00:59 +05:30
proof_test.go Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into shivam/upstream-geth-1.13.5 2023-12-15 13:55:57 +05:30
secure_trie.go fix lint 2023-09-23 16:26:23 +05:30
secure_trie_test.go Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into shivam/upstream-geth-1.13.5 2023-12-15 13:55:57 +05:30
stacktrie.go Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into shivam/upstream-geth-1.13.5 2023-12-15 13:55:57 +05:30
stacktrie_fuzzer_test.go Merge upstream_merge branch to develop (#1229) 2024-04-29 12:21:11 +02:00
stacktrie_test.go Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into shivam/upstream-geth-1.13.5 2023-12-15 13:55:57 +05:30
sync.go Merge upstream_merge branch to develop (#1229) 2024-04-29 12:21:11 +02:00
sync_test.go Merge upstream_merge branch to develop (#1229) 2024-04-29 12:21:11 +02:00
tracer.go merge geth v1.12.2 into develop 2023-08-18 14:05:34 +05:30
tracer_test.go Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into shivam/upstream-geth-1.13.5 2023-12-15 13:55:57 +05:30
trie.go merge develop 2023-10-09 15:34:18 +05:30
trie_id.go cmd, core, eth, les, light: track deleted nodes (#25757) 2022-09-27 10:01:02 +02:00
trie_reader.go Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into shivam/upstream-geth-1.13.5 2023-12-15 13:55:57 +05:30
trie_test.go Merge upstream_merge branch to develop (#1229) 2024-04-29 12:21:11 +02:00
verkle.go Merge upstream_merge branch to develop (#1229) 2024-04-29 12:21:11 +02:00
verkle_test.go Merge upstream_merge branch to develop (#1229) 2024-04-29 12:21:11 +02:00