Lodestar v0.35.0 Upgrade Release
Authored by Phil Ngo
We are excited to finally release the Lodestar v0.35.0 update, which includes many fixes and enhancements - 156 commits to be exact! Before this version, the 0.34.x series was the most stable branch and included only specific fixes we knew would not pose a risk to stability on mainnet.
The v0.35.0 update lays the foundation for many of the newly implemented large refactors we knew would help with the performance of Lodestar on mainnet. This is a warm-up for the Lodestar v1.0.0 code freeze, and we'd thank the community for its patience. Some of the key features of v0.35.0 include:
Release workflow fixes
For the last several weeks, our master (unstable) branch has undergone so many changes that it was too unstable for us to feel comfortable pushing a stable release to fix it. Luckily, the v0.35.0 release fixes many of the issues we encountered, and we aim to resume routine releases with a target of ~ two weeks to reduce the backlog and help to isolate future problematic PRs.
Merge-related inclusions
Some of the specifications for the Merge have changed since January, and this version includes all of the most recent updates. Important features such as backfill sync, optimistic sync, proposer boost, and JWT token auth were updated with it.
This version also includes the consensus-spec v1.1.10 updates and was tested against the Kiln public merge testnet and the mainnet shadow forks with Geth and Nethermind execution layer combinations. If you'd like to participate, we have an easy script to get started on shadow fork testing and other merge-related testnets like Kiln!
SSZ Refactor
This update includes the large refactor of SSZ that can be found here. The implementation of this new upgrade has improved overall performance compared to v0.34.x series of Lodestar. Thanks to the optimizations around our data structures, memory heap usage, epoch transitions, and processing block times were noticeably improved.
Libp2p and gossipsub upgrades
We've upgraded Lodestar to libp2p v0.35.x, gossipsub v0.12.x, and libp2p-interface v2.0.x which helped fix some typing issues, enable peer score caching, fast message ID caches, and fix floodpublish logic that affected our attestation propagation.
Some of this work required us to make changes, such as turning peerStore into async methods. There were also multiple fixes included in this release that allowed us to upgrade our dependencies.
Metrics, metrics, and more metrics
Previous delays in stable releases were due to lacking the information we needed to diagnose root issues and make good decisions. Adding more metrics was the first antidote.
Some newly implemented metrics include prometheus scrape stats, validator attestation stats, peer scoring stats, peer connection stats such as long-lived subnets, gossipsub debug stats, and API REST metrics.
Thanks to our focus on metrics, we were able to refactor our peer scoring system to create a healthy mesh of reliably connected peers, which improved our connectivity to the network.
Other noteworthy inclusions
In addition, this version includes the standard keymanager API (located here). This important feature allows us to be compatible with community implementations such as DappNode, which provide greater client diversity.
Due to the noticeable performance boost, v0.35.x provides, we've also increased the peer limit from 25 to 50 to be in line with some of the other clients without regression in performance.
If you'd like to get involved with Lodestar, check out our Github. If you'd like to contact the team, feel free to drop by Chainsafe's Discord on the ⭐#lodestar-general channel or email info@chainsafe.io.
For more details about Lodestar, please head to our documentation site. We're also hiring, so if you're interested, you can also check out our open positions and get in touch ➡️➡️ careers@chainsafe.io
About ChainSafe
ChainSafe is a leading blockchain research and development firm specializing in infrastructure solutions for the decentralized web. Alongside client implementations for Ethereum, Polkadot, Filecoin, and Mina, we're building a portfolio of web3 products - Files, Storage, the Gaming SDK, and ChainBridge. As part of our mission to build innovative products for users and better tooling for developers, ChainSafe embodies an open source and community-oriented ethos. To learn more, click here.