Intro to Snapsync
Snapsync synchronization mode allows to securely download recent finalized EVM state without processing prior transactions. Once snapsync is finalized, node switches to the default fullsync mode. Snapsync protocol outline
Snapsync protocol downloads the EVM state in two stages:
- 1.Downloads continuous batches of EVM items, provided with Merkle paths for instant verification. Note: single Merkle path for a continues batch of items is much cheaper than multiple Merkle paths for each individual item - this way, it's roughly as fast as a simple file download.
- 2.Continuously requests missing or outdated items until the state is fully healed.
This release will trigger the London upgrade EIP-1559 and then snapsync upgrade will be activated. All London changes in EIP-1559 are included except automatic baseFee/minGasPrice adjustment and baseFee burning. Instead, the burning 30% of transaction fees are unchanged. With snapsync, people can generate and validate genesis files. Node operators can generate custom genesis files from their own nodes and then validate the generated hashes with the hashes generated by other nodes.
The activation was triggered at block 37534762.
Nodes should use this latest release to join the network.
- Read nodes: v1.1.1-rc.2 is recommended
- API nodes: v1.1.1-rc.2 is recommended
- Validator nodes: v1.1.1-rc.2 is recommended
To use snapsync mode, you can use go-opera v1.1.1-rc.2 for your new read node. The go-opera v1.1.1-rc.2 is highly recommended for API nodes and validator nodes (provided that you run in fullsync mode). Check the list of Genesis files and find the files with Snapsync = 'Yes'.
Note that, if you're running a 1.1.0-rc.X, after the upgrade to 1.1.1-rc.2, it won't be possible to use the old genesis files (mainnet.g and testnet.g). Instead, you can omit --genesis flag and you don't need to download a new genesis file (as the file is no longer mandatory for already initialized nodes).
Processing time and duration to sync to the latest block are shown in the below table. These values are indicative only, which are obtained from a run on test servers using m5.xlarge (AWS) and a bare metal.
Nodes that were not upgraded before the activation was done (e.g., they are still running version 1.0.2) can no longer join the network. You will need to upgrade to the latest release go-opera release/1.1.0-rc.4 and it will need a fresh resync.
Alternatively, you can use v1.1.1-rc.2 and download one of new genesis files.