go-ethereum/core
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
..
asm core/asm: remove unused return value (#27272) 2023-05-16 10:14:04 +02:00
bloombits core/bloombits: use atomic type (#26993) 2023-03-28 03:05:29 -04:00
forkid core: use slices package for sorting (#27489) 2023-06-20 11:58:47 +02:00
rawdb core: use slices package for sorting (#27489) 2023-06-20 11:58:47 +02:00
state cmd, core, eth, graphql, trie: no persisted clean trie cache file (#27525) 2023-07-04 10:21:06 +03:00
txpool core/txpool/legacypool: fix typo (#27620) 2023-06-27 20:28:18 +03:00
types all: move main transaction pool into a subpool (#27463) 2023-06-16 15:29:40 +03:00
vm params, trie: add verkle fork management + upgrade go-verkle (#27464) 2023-06-28 12:08:48 +03:00
.gitignore
bench_test.go core/types, params: add blob transaction type, RLP encoded for now (#27049) 2023-04-21 12:52:02 +03:00
block_validator_test.go all: remove ethash pow, only retain shims needed for consensus and tests (#27178) 2023-05-03 12:58:39 +03:00
block_validator.go core, eth/downloader: validate blobtx.To at serialization time (#27393) 2023-05-31 13:08:15 +03:00
blockchain_insert.go core: fix log order in "Imported new chain segment" (#25768) 2022-09-15 13:18:23 +02:00
blockchain_reader.go core/state, light, les: make signature of ContractCode hash-independent (#27209) 2023-06-28 12:11:02 +03:00
blockchain_repair_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
blockchain_sethead_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
blockchain_snapshot_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
blockchain_test.go all: port boring changes from pbss (#27176) 2023-05-09 10:11:04 +03:00
blockchain.go cmd, core, eth, graphql, trie: no persisted clean trie cache file (#27525) 2023-07-04 10:21:06 +03:00
blocks.go core: typos and comments improve 2017-05-25 17:14:33 +03:00
bloom_indexer.go core: preallocate batch size in bloomIndexer (#25289) 2022-08-03 17:02:09 +02:00
chain_indexer_test.go core: fix potential race in chainIndexerTest (#22346) 2021-03-19 13:32:57 +01:00
chain_indexer.go core,console: replace noarg fmt.Errorf with errors.New (#27332) 2023-05-25 08:24:09 -04:00
chain_makers_test.go core: fix a merge fault (#26802) 2023-03-03 12:11:39 +02:00
chain_makers.go core: add Timestamp method in BlockGen (#26844) 2023-03-10 14:03:27 +01:00
dao_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
error.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
events.go eth/filters: remove use of event.TypeMux for pending logs (#20312) 2019-12-10 12:39:14 +01:00
evm.go core: 4844 opcode and precompile (#27356) 2023-06-05 16:43:25 +03:00
forkchoice.go core: clarify code in forkchoice (#26257) 2022-11-28 11:07:25 +01:00
gaspool.go core, miner: revert block gas counter in case of invalid transaction (#26799) 2023-03-07 05:23:52 -05:00
gen_genesis_account.go tests: update for London (#22976) 2021-06-07 14:37:56 +02:00
gen_genesis.go core: change baseFee into baseFeePerGas in genesis json 2021-06-14 14:04:44 +02:00
genesis_alloc.go all: remove the Rinkeby testnet (#27406) 2023-06-02 14:03:21 +03:00
genesis_test.go all: remove the Rinkeby testnet (#27406) 2023-06-02 14:03:21 +03:00
genesis.go params, trie: add verkle fork management + upgrade go-verkle (#27464) 2023-06-28 12:08:48 +03:00
headerchain_test.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
headerchain.go all: remove ethash pow, only retain shims needed for consensus and tests (#27178) 2023-05-03 12:58:39 +03:00
mkalloc.go core: use slices package for sorting (#27489) 2023-06-20 11:58:47 +02:00
rlp_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
sender_cacher.go all: refactor txpool into it's own package in prep for 4844 2022-10-24 16:35:53 +03:00
state_prefetcher.go core/types, params: add blob transaction type, RLP encoded for now (#27049) 2023-04-21 12:52:02 +03:00
state_processor_test.go all: tie timestamp based forks to the passage of London (#27279) 2023-05-19 11:27:19 +03:00
state_processor.go core,console: replace noarg fmt.Errorf with errors.New (#27332) 2023-05-25 08:24:09 -04:00
state_transition.go core: 4844 opcode and precompile (#27356) 2023-06-05 16:43:25 +03:00
types.go core: use atomic type (#27011) 2023-03-30 06:53:32 -04:00