WARNING
Erigon 3 has been under R&D for a long time and is getting closer to release. We plan this release, v2.60.0, to be the last significant release based on Erigon 2. There might be patch v2.60.x releases for critical issues, but by and large, we intend all future development to be based on Erigon 3. The code of Erigon 3 now lives in branch main
, which is our default branch now. We advise all forks of Erigon to either switch their development to Erigon 3 or use branch release/2.60
if they choose to stay on Erigon 2.
You can read more about Erigon 3 at https://erigon.tech/merging-erigon-3-and-erigon-4-and-possibly-caplin.
Drop support of golang 1.20
Fixes pruning of logs issue introduced in 2.59.x:
For users using prune=hrtc flag or any prune flags with non-zero prune.r.older flag following must be performed when upgrading from 2.59.x
- Stop the node, upgrade to thorax/erigon:release-v2.60 docker image.
- Then,
integration stage_log_index --reset --datadir=<your_datadir> --chain=<chain_name>
- Then restart and let it sync to the tip.
(Optional) Database compaction: Stop the node at chain-tip (after syncing is finished) Then
integration mdbx_to_mdbx --chaindata=<your_datadir>/chaindata --chaindata.to=<your_datadir>/chaindata2 --datadir=<any_random_location_for_temp_files>
mv chaindata chaindataOld
mv chaindata2 chaindata
Then restart. The new chaindata may be up to 1/3 of the size of the old (Bonus!). If all goes well, you can delete chaindataOld
rm -rf chaindataOld
Tip: To do the integration commands with docker image, you can always do
docker run -it -v <your_datadir>:/data --entrypoint sh thorax/erigon:devel
Then the value of datadir for integration and mdbx commands is /data on the docker shell, where you can run the above.
N.B. Also, just a reminder, 2.58 originally synced node cannot see much benefit on upgrading (it was also in the release notes of 2.59) The above suggestion would work when upgrading from 2.59.x
Caplin:
- Caplin: beacon committee subscription api by @domiwei in #9721
- Caplin: tweaks to make staking more stable. by @Giulio2002 in #10097
- Caplin: Fixed not calling FCU due to faulty blob handling by @Giulio2002 in #9779
- Caplin: process new attesting indicies before block comes in to avoid occasiona Reorg by @Giulio2002 in #10085
Silkworm:
- Fix arm64 Silkworm build (#9299) by @battlmonstr in #9914
- Add support for customising Silkworm RpcDaemon settings in Erigon++ by @canepat in #10002
Otterscan:
- Fixed rewards and fees calculation in Otterscan APIs: #10038 #10070
- Added support for return values in ots_traceTransaction traces: #10014"
New:
- Grafana: configurable datasource by @AskAlexSharov in #10073
- Enabled diagnostics by default to collect data by @dmytro Vovk in #10083
- Added command to verify remote manifests from webseeds by @awskii in #9762
- Add aditional types for handling bor waypoint persistnce and refactor snapshot management code to improve extensibility. #10027 #10051 #9793 #10132 #10147
- RPC: Receipts LRU cache by @AskAlexSharov in #10112
Bugfixes:
- Fix default gas values in debug_ RPCs by @shohamc1 in #9922
- Fixed p2p/sentry: StatusDataProvider ReadCurrentHeader error by @battlmonstr in #9890
- Fixed Engine API: NewPayload fails with a "context canceled" error when calling CurrentHeader/GetHeader (#9786) by @battlmonstr in #9894
- Fix abigen regression which generated non-compilable code with unused imports and duplicate struct definitions by @taratorio in #10091
- Release decompressor mmap on errors by @awskii in #9917
- Web Torrent related fixes to improve downloader reliability. For newly released snapshot files downloading is
primarily via webseeds. This has become unreliable recently due to issues with web firewall quotas and internal
torrent library http handling. These changes fix several identified issues in this area which should improve downlaod reliability.#9904 #9962 #10008 #10036 #10183 #10149
Full Changelog: v2.59.3...v2.60.0-rc1