The recommended pruning parameter `--prune.r.older=2_000_000` prunes too many blocks to successfully sync an Eth2 client.
At the time of writing, we're at block 13411141. That means with the above prune parameter, recipes of blocks older than 11411141 are pruned. This misses some required blocks, as the deposit contract was deployed at block 11184524 (see option `--contract-deployment-block` from [here](https://docs.prylabs.network/docs/prysm-usage/parameters/))
Instead, use the new `--prune.r.before 11184524` option together with `--prune htc`
* Move ETL to erigon-lib
* Update link in the readme
* go mod tidy
* Use common/chan.go from erigon-lib
* Clean up
* Fix lint
* Fix test
* Fix compilation
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
* Pruning for: exec, log_index, tx_lookup, history stages
* Pruning for: exec, log_index, tx_lookup, history stages
* Pruning for: exec, log_index, tx_lookup, history stages
* Pruning for: exec, log_index, tx_lookup, history stages
* add tvm flag
* save
* db migration for storage mode
add flag --prune=
remove flag --storage-mode=
add flag --experiments=tevm,...
rename integration set_storage_mode to set_prune
* fix
* forward move of stages must skip everything before PruneTo
* keep in db progress of prune method
* keep in db progress of prune method
* simplify logs
* simplify logs
* simplify logs
* fix test
* simplify logs
* simplify logs
* simplify logs
* simplify logs
* remove callTraceSet as dupsort
use etl transform for txlookup prune
remove some logs
* cleanup tests a bit
* print_stages and eth_sync to show prune progress
* fix print_stages
* add readme about --prune.to flag
* more docs
* add --prune.history.older and other flags support
* fix migration on empty db
* better toString
* better toString
* Feat: only share the erigon container PID namespace with rpcdaemon instead of the entire host PID namespace.
* Feat: remove host UID:GUID mapping from erigon and rpcdaemon containers in favour of erigon user in Dockerfile. Adapted Makefile to pre-create mounted volumes to avoid permission issues at runtime.
* Feat: docker volume directories should always be owned by erigon user(1000:1000) regardless of the user that invoked the make command.
* Fix: don't chown here which breaks docker volume mounts.
* Fix: remove ERIGON_HOME Makefile variable and simplify recipe.