Happy Wednesday everyone! Lodestar just landed our v1.30.0 release with some optimizations for node operators. We recommend upgrading to take advantage of some of these new optimizations.
By default, we are now making serving historical state opt-in. If you're a node operator that makes use of the Beacon API for querying historical state, you will need to enable the functionality via --serveHistoricalState
. We also now support fetching historical data from all state and proof APIs.
For those using Lodestar as stakers, you may see some performance enhancements by default from the above change. In addition, Gnosis users may notice additional enhancements in this version with the reintroduction of async aggregateWithRandomness post js-libp2p 2.0 upgrade.
Lodestar no longer supports the use of NodeJS v20.x and users installing from source must update their node environment to v22.x as you will no longer be able to build from source with versions below that. For those who prefer a simpler UX, we recommend setting up Lodestar with published binaries or via Docker for simplicity related to NodeJS dependencies.
We have removed the outdated GET /eth/v2/validator/blocks/{slot}
and GET /eth/v1/validator/blinded_blocks/{slot}
produce block APIs and will always default to using produceBlockV3
on the validator client. Therefore, --useProduceBlockV3
flag has been deprecated and no longer has any effect.
Changelog
Features
- support fetching historical data from all state apis (#7781) (@nflaig)
- send validator registrations to builder using ssz (#7444) (@nflaig)
- update dumpPeer(s) api to support
fulu.Metadata
(#7796) (@nflaig) - support fetching historical state proofs (#7779) (@nflaig)
- make aggregate with randomness async again (#7761) (@matthewkeil)
- make serving historical state opt-in (#7799) (@nflaig)
- fulu types (#7774) (@wemeetagain)
- handle chain stall in peer manager (#7508) (@wemeetagain)
- override libp2p handler when registering protocol for new fork (#7755) (@nflaig)
- update
getHistoricalSummaries
endpoint include version+slot (#7742) (@KolbyML)
Bug Fixes
- do not trigger builder circuit breaker if clock slot < slots present (#7481) (@nflaig)
- reqresp: update reqresp behavior for timeout (#7800) (@nazarhussain)
Refactoring
- reorg state-transition metrics (#7577) (@KatyaRyazantseva)
- deduplicate DataAvailabilityStatus enum (#7703) (@matthewkeil)
Tests
- update web3signer e2e tests to electra (#7795) (@nflaig)
- fix few e2e flaky tests (#7762) (@nazarhussain)
- use vitest workspace to run all tests (#7610) (@nazarhussain)
Maintenance
- v1.30.0 release (#7811) (@philknows)
- address leftover review comments from #6033 (#7797) (@nflaig)
- update aggregateWithRandomness async metric and panel (#7809) (@nflaig)
- add tsconfig to detect unused imports, variables, and functions (#7759) (@nflaig)
- drop support for nodejs v20.x (#7808) (@nflaig)
- fix prompt in launch config to test current file (#7791) (@nflaig)
- make
*_REQUESTS_PER_PAYLOAD
the same for mainnet/minimal (#7768) (@nflaig) - update beacon api and consensus spec refs post electra (#7804) (@philknows)
- restructure tests (#7793) (@nflaig)
- reuse the shared biome config (#7763) (@nazarhussain)
- remove unused eslint directives (#7803) (@nazarhussain)
- update gnosis chain bootnodes (#7784) (@nflaig)
- bump @chainsafe/pubkey-index-map (#7485) (@wemeetagain)
- update gnosis
MAX_BLOBS_PER_BLOCK
to match upstream config (#7785) (@nflaig) - update 404 block/state error messages to match spec examples (#7775) (@nflaig)
- add block proposal summary panel to block production dashboard (#7692) (@bomanaps)
- remove workarounds no longer needed (#7757) (@nflaig)
- revert "fix: wrap libp2p stop call with a timeout (#6062)" (#7756) (@nflaig)
- use v2 attestation apis even pre-electra (#7758) (@nflaig)
- remove produce block apis no longer part of spec (#7749) (@nflaig)
- remove got dependency and move fetch code to the utils package (#7526) (@VictoriaAde)
- update any-signal to latest version (#7628) (@SYLVIANNORUKA)
- merge v1.29.0 stable back to unstable (#7732) (@philknows)
- deps-dev: bump vite from 6.0.11 to 6.1.6 (#7773) (@dependabot[bot])