What changed?
[Sync/Performance/BETA] Add beta Snap Sync Support (#3840, #4005), big contribution from @dceleda ! :
- We are releasing this as BETA because not all features are supported yet, but in our internal testing we don't see any issues with current implementation and highly recommend to try it out for new syncs!
- Current Snap Sync progress:
- Download Accounts and Storage Slots using Snap Sync
- Healing phase using Snap Sync - currently we are still using Fast Sync for healing - this is next milestone to be delivered shortly
- Serving Snap Sync data - this is planned for late this year, potentially with bigger changes to State Database layout.
- As Nethermind doesn't yet support serving Snap Sync request, currently only networks supported are the ones where Geth can serve that data: Mainnet, Goerli, Ropsten, Rinkeby
- Measured speed-up on mainnet for State Sync phase: from 24+h to 2-3h. The download size is reduced from ~90GB to ~30GB.
- To enable: Sync.SnapSync true - subject to change in future release as we plan to tidy up Sync config in future release (#4008)
- For network healthiness as our lack of support of serving Snap Sync requests we are disabling snap sync protocol after we are synced
- Currently it is not advised to enable Snap Sync on already synced node as it can trigger syncing again, which is not needed, this will be fixed in next release
[Sync] Remove "pruned" configs, that were accidentally restored (#4013)
[Sync] Updated pivots for parallel sync (#4014) (edited)
Running Nethermind:
Nethermind Launcher is a self-contained app - you do not need to install .NET separately to run it.
PPA
(Tested on Ubuntu Series: Focal
, Bionic
, Xenial
and Trusty
)
sudo add-apt-repository ppa:nethermindeth/nethermind
sudo apt install nethermind
- To execute the launcher
nethermind
- To execute the runner
nethermind --config mainnet
Homebrew
brew tap nethermindeth/nethermind
brew install nethermind
- To execute the launcher
nethermind-launcher
- To execute the runner
nethermind --config mainnet
Docker
docker pull nethermind/nethermind
docker run -it nethermind/nethermind
Linux
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.13.0/nethermind-linux-amd64-1.13.0-2e8910b-20220510.zip
unzip nethermind-linux-amd64-1.13.0-2e8910b-20220510.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Linux Arm64
sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 librocksdb5.17 unzip
wget https://github.com/NethermindEth/nethermind/releases/download/1.13.0/nethermind-linux-arm64-1.13.0-2e8910b-20220510.zip
unzip nethermind-linux-arm64-1.13.0-2e8910b-20220510.zip -d nethermind
cd nethermind
./Nethermind.Launcher
- select desired configuration
Windows
- download windows package
nethermind-windows-amd64-1.13.0-2e8910b-20220510.zip
- unzip the file
- run
Nethermind.Launcher.exe
- select desired configuration
macOS
brew install rocksdb
- download darwin package
nethermind-darwin-amd64-1.13.0-2e8910b-20220510.zip
- unzip the file
- run
Nethermind.Launcher
- select desired configuration