As of Geth v1.13.0, a new database model for storing the Ethereum state, which is both faster than the previous scheme, and also has proper pruning implemented.
No more junk accumulating on disk and no more guerilla (offline) pruning!
🎉 Enjoy performance improvements
🤖 How to enable PBSS for existing installations
Before continuing please understand the following:
Synching Geth can take hours during which time block proposals can be missed
Consider using a backup EL/CL if you have many validators
Enabling PBSS requires a full Geth resync
# Stop gethsudosystemctlstopexecution#(add --state.scheme=path to the ExecStart line)sudonano/etc/systemd/system/execution.service# reload changessudosystemctldaemon-reload# Delete the old db# and when asked, delete the state database, but keep the ancient database# Yes to state db, no to ancient db.sudo-uexecution/usr/local/bin/geth--datadir/var/lib/gethremovedb# Start gethsudosystemctlstartexecution
# Stop gethsudosystemctlstopeth1#(add --state.scheme=path to the ExecStart line)sudonano/etc/systemd/system/eth1.service# reload changessudosystemctldaemon-reload# Delete the old db# and when asked, delete the state database, but keep the ancient database# Yes to state db, no to ancient db.sudo/usr/bin/geth--datadir~/.ethereumremovedb# Start gethsudosystemctlstarteth1
Example of V2 service file with updated ExecStart line using --state.scheme=path