mirror of
https://github.com/luxfi/evm.git
synced 2026-09-24 00:27:44 +00:00
The ancient store existed in geth and its flags existed on the node, and nothing joined them: the VM always opened its chain database straight over the key-value store, so --cchain-ancient reached the C-Chain config and stopped there. openChainDatabase is that join. Without an ancient directory the key-value store is the database, as before, and every block the node ever accepted stays in it. With one, blocks past the freeze threshold live in an append-only store on that path: the node that owns the directory writes them there and drops its own copies, and nodes that share the directory read history from it instead of each keeping a copy. On a machine running many nodes that is the difference between one copy of the chain and one per node. The config test was written against an earlier shape, where ancient-read-only and ancient-shared each required the other — a pair that named one arrangement twice and was removed. It now pins what is actually enforced: sharing needs a directory to share, and a store needs a hot window for the block being built to find its parent. A comment about two writers interleaving one file had been left sitting above the threshold check, which is not what it describes. Co-authored-by: Hanzo Dev <[email protected]>