0xPolygonHermez / cdk-erigon

Ethereum implementation on the efficiency frontier
GNU Lesser General Public License v3.0
29 stars 23 forks source link

Pruning - Is it ready to be used in cdk-erigon? #545

Open andreclaro opened 1 month ago

andreclaro commented 1 month ago

Hello CDK-Erigon Team,

Did you have test erigon pruning features with cdk-erigon? is it ready to be used?

--prune value                                                                    Choose which ancient data delete from DB:
                                                                                    h - prune history (ChangeSets, HistoryIndices - used by historical state access, like eth_getStorageAt, eth_getBalanceAt, debug_traceTransaction, trace_block, trace_transaction, etc.)
                                                                                    r - prune receipts (Receipts, Logs, LogTopicIndex, LogAddressIndex - used by eth_getLogs and similar RPC methods)
                                                                                    t - prune transaction by it's hash index
                                                                                    c - prune call traces (used by trace_filter method)
                                                                                    Does delete data older than 90K blocks, --prune=h is shortcut for: --prune.h.older=90000.
                                                                                    Similarly, --prune=t is shortcut for: --prune.t.older=90000 and --prune=c is shortcut for: --prune.c.older=90000.
                                                                                    However, --prune=r means to prune receipts before the Beacon Chain genesis (Consensus Layer might need receipts after that).
                                                                                    If an item is NOT on the list - means NO pruning for this data.
                                                                                    Example: --prune=htc (default: "disabled")
   --prune.h.older value                                                            Prune data older than this number of blocks from the tip of the chain (if --prune flag has 'h', then default is 90K) (default: 0)
   --prune.r.older value                                                            Prune data older than this number of blocks from the tip of the chain (default: 0)
   --prune.t.older value                                                            Prune data older than this number of blocks from the tip of the chain (if --prune flag has 't', then default is 90K) (default: 0)
   --prune.c.older value                                                            Prune data older than this number of blocks from the tip of the chain (if --prune flag has 'c', then default is 90K) (default: 0)
   --prune.h.before value                                                           Prune data before this block (default: 0)
   --prune.r.before value                                                           Prune data before this block (default: 0)
   --prune.t.before value                                                           Prune data before this block (default: 0)
   --prune.c.before value                                                           Prune data before this block (default: 0)
   --batchSize value

Thanks!

mandrigin commented 1 month ago

@andreclaro we didn’t test it per se because the networks we ran on were tiny. But we didn’t actively break it :) If someone can help us testing it and report issues — we would be grateful 👍