Happy November Lodestar users! We are excited to announce our Fusaka mainnet release with version 1.36.0!
It is mandatory for all node operators to utilize this version or above to be Fusaka fork ready for the scheduled December 3rd hard fork and subsequent BPO forks: BPO1 (December 9th) and BPO2 (January 7th). A reminder for node operators that if you do not run Lodestar or any client with validators and wish to custody all data columns sidecars with your beacon node, you must use the --supernode flag to indicate this, otherwise your node will, by default, custody the minimum amount of 4 or higher depending on your attached validator count.
We have introduced a --semiSupernode flag for more efficient data availability with lower bandwidth and storage requirements. This will custody half the data column sidecar subnets to support blob reconstruction should you need them for other dependents. See #8568 for full details.
This release also increases the default gas limit to signal for 60 million gas blocks, up from the 45 million gas blocks currently on mainnet.
Other optimizations and performance enhancements found on testnets and from the Fusaka bug bounty have also been included with this version.
As usual, ensure you've updated your entire stack to mainnet-ready versions of Fusaka alongside your Lodestar beacon node/validator client. Happy Fusaka fork everyone ! 🍴🦓
Changelog
Features
- log agent, version and peerid for batched gossip errors (#8604) (@matthewkeil)
- include commit hash in network lodestar version (#8605) (@nflaig)
- signature verification for reqresp DA (#8580) (@matthewkeil)
- log clientAgent and clientVersion for gossip errors (#8601) (@matthewkeil)
- increase default gas limit to 60M (#8600) (@philknows)
- update
node-eth-kzgto 0.9.1 (#8594) (@kevaundray) - schedule fulu and BPOs on mainnet (#8590) (@nflaig)
- activate fulu on ephemery (#8587) (@nflaig)
- add option to prune persisted cp states (#8582) (@nflaig)
- enforce earliest available slot for incoming reqresp (#8553) (@matthewkeil)
- use classic-level in bun (#8575) (@wemeetagain)
- add semi supernode flag (#8568) (@nflaig)
- add partial blob reconstruction (#8567) (@nflaig)
- use bytes from lodestar-bun (#8562) (@wemeetagain)
- use snappy from lodestar-bun (#8557) (@wemeetagain)
- sync from unfinalized checkpoint state (#8527) (@nflaig)
- take Bun profile (#8515) (@twoeths)
- track computeDeltas metrics (#8531) (@twoeths)
- track performance of processFinalizedCheckpoint() (#8530) (@twoeths)
- add more specific error codes to voluntary exit error (#8486) (@phertyameen)
- update networking config to match CL spec (#8510) (@nflaig)
Bug Fixes
- prevent columns that arrive after block import from getting processed (#8598) (@matthewkeil)
- resubscribe to beacon subnets on current epoch reorg (#8570) (@phertyameen)
- refactor validateColumnsByRangeResponse (#8482) (@matthewkeil)
- update local status fork digest on fork boundary transition (#8561) (@nflaig)
- remove extraneous fields from
/eth/v1/node/peersresponse (#8554) (@nflaig) - ignore already known data column sidecars (#8542) (@nflaig)
- respect
reverseandlimitin bun leveldb controller (#8529) (@wemeetagain) - only trigger get blobs and data column reconstruction if missing data (#8536) (@nflaig)
- ensure data column sidecars respect blob limit (#8534) (@nflaig)
- do not create default cache entry for unknown proposers (#8532) (@nflaig)
- avoid emitting stale light client updates (#8522) (@nflaig)
- avoid Set.has() in computeDeltas() (#8525) (@twoeths)
- improve heap size limit log (#8516) (@twoeths)
Refactoring
Tests
- fix broken spec tests for merkle proofs (#8469) (@nazarhussain)
Maintenance
- release v1.36.0 (#8607) (@philknows)
- include block slot in proposal signature errors (#8603) (@nflaig)
- update gnosis preset (#8593) (@nflaig)
- remove usage of
prettyBytesin errors (#8589) (@nflaig) - migrate to
consensus-specsfor spec tests (#8591) (@ensi321) - downgrade enr without tcp multiaddr log to warning (#8586) (@nflaig)
- new BeaconChain dashboard (#8581) (@twoeths)
- unbreak lodestar dev command (#8577) (@nflaig)
- #8562 cleanup (#8563) (@wemeetagain)
- fix build after merge to unstable (#8558) (@nflaig)
- update execution payload and blobs bundle for fulu (#8556) (@nflaig)
- decompose VoteTracker (#8549) (@twoeths)
- update lodestar-bun (#8555) (@wemeetagain)
- add bunfig.toml (#8551) (@wemeetagain)
- fix type checks in merkle proof test (#8550) (@nflaig)
- unhide prune history option (#8547) (@nflaig)
- cleanup types exports for all packages (#8434) (@nazarhussain)
- more logs for maybeArchiveState() (#8541) (@twoeths)
- track computeDeltas() metrics on Grafana (#8539) (@twoeths)
- simplify start epoch in head chain range sync (#8535) (@nflaig)
- remove listener of blob sidecars chain event on close (#8520) (@nflaig)
- merge v1.35.0 back to unstable (#8514) (@philknows)