go-ethereum/eth
rjl493456442 59f7b289c3
cmd, core, eth, graphql, trie: no persisted clean trie cache file (#27525)
The clean trie cache is persisted periodically, therefore Geth can
quickly warmup the cache in next restart.

However it will reduce the robustness of system. The assumption is
held in Geth that if the parent trie node is present, then the entire
sub-trie associated with the parent are all prensent.

Imagine the scenario that Geth rewinds itself to a past block and
restart, but Geth finds the root node of "future state" in clean
cache then regard this state is present in disk, while is not in fact.

Another example is offline pruning tool. Whenever an offline pruning
is performed, the clean cache file has to be removed to aviod hitting
the root node of "deleted states" in clean cache.

All in all, compare with the minor performance gain, system robustness
is something we care more.
2023-07-04 10:21:06 +03:00
..
catalyst all: move main transaction pool into a subpool (#27463) 2023-06-16 15:29:40 +03:00
downloader eth/downloader: drop beacon head updates if the syncer is restarting (#27397) 2023-06-05 09:59:38 +03:00
ethconfig cmd, core, eth, graphql, trie: no persisted clean trie cache file (#27525) 2023-07-04 10:21:06 +03:00
fetcher all: move main transaction pool into a subpool (#27463) 2023-06-16 15:29:40 +03:00
filters eth/filters: reuse handleLogs method for removed logs (#27438) 2023-06-08 11:40:22 +02:00
gasprice eth: use slices package for sorting (#27490) 2023-06-19 23:38:57 +02:00
protocols trie, core/state: revert error removal in (*state.Trie).Commit (#27544) 2023-06-27 15:36:38 +03:00
tracers params, trie: add verkle fork management + upgrade go-verkle (#27464) 2023-06-28 12:08:48 +03:00
api_admin.go eth: split api.go into namespace based files (#27263) 2023-05-29 05:09:34 -04:00
api_backend.go all: move main transaction pool into a subpool (#27463) 2023-06-16 15:29:40 +03:00
api_debug_test.go cmd, core/state, eth, tests, trie: improve state reader (#27428) 2023-06-20 15:31:45 -04:00
api_debug.go cmd, core/state, eth, tests, trie: improve state reader (#27428) 2023-06-20 15:31:45 -04:00
api_miner.go core/txpool: make transaction validation reusable across packages (pools) (#27429) 2023-06-06 12:53:29 +03:00
api.go les, eth: fix typo in comment (#27369) 2023-05-30 14:55:03 +02:00
backend.go cmd, core, eth, graphql, trie: no persisted clean trie cache file (#27525) 2023-07-04 10:21:06 +03:00
bloombits.go eth: move eth.Config to a common package (#22205) 2021-02-05 13:51:15 +01:00
handler_eth_test.go all: move main transaction pool into a subpool (#27463) 2023-06-16 15:29:40 +03:00
handler_eth.go eth: use new atomic types (#27137) 2023-04-25 12:06:50 +02:00
handler_snap.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
handler_test.go all: move main transaction pool into a subpool (#27463) 2023-06-16 15:29:40 +03:00
handler.go eth: send big transactions by announce/retrieve only (#27618) 2023-06-28 12:06:20 +03:00
peer.go eth: remove admin.peers[i].eth.head and difficulty (#26804) 2023-03-06 09:27:46 +02:00
peerset.go all: fix some typos (#25551) 2022-08-19 09:00:21 +03:00
state_accessor.go core/types, params: add blob transaction type, RLP encoded for now (#27049) 2023-04-21 12:52:02 +03:00
sync_test.go eth: use new atomic types (#27137) 2023-04-25 12:06:50 +02:00
sync.go eth: use new atomic types (#27137) 2023-04-25 12:06:50 +02:00