Hey everyone! We've released v1.14.0 of Lodestar which is recommended for all users on all networks. This is the same version as v1.14.0-rc.2 which was the mandatory release for Goerli users for Deneb hard fork readiness.
-
This release includes the scheduled Goerli test network fork for Deneb at epoch 231680.
-
If using Lodestar for the Ephemery testnet, this version is compatible with the Deneb fork scheduled for iteration 111 on January 18, 2024.
-
--blindedLocal is a new feature which allows local block publishing to be signed by the validator similarly to builder relays via blinded headers instead of having the full payload. For operators with their Lodestar beacon node and validator clients in separate hosts/networks, this feature will reduce block production latencies. This is only supported if it's a Lodestar beacon node using produceBlockV3.
-
Breaking change for Deneb fork: The Deneb fork epoch will trigger the migration to use produceBlockV3 on Lodestar. If you do not want this, you MUST disable it with --produceBlockV3 false. Alternatively, if you want to turn it on for testing pre-Deneb, you can enable it with --produceBlockV3 true. The automatic switch to produceBlockV3 will only affect the Goerli network (the only scheduled network to fork on this release).
-
Other block production optimizations to reduce block production latencies and likelihood of orphaning blocks due to reorgs.
-
Lodestar now supports
shouldOverrideBuilder
functionality where execution clients can identify censorship and force local block production irrespective of the builderBoostFactor. See ethereum/execution-apis#425 for the specification and this note on the heuristics of how the execution client determines builder censorship: https://hackmd.io/@potuz/BkpzmOgK6. -
produceBlockV3
API now supports builder_boost_factor. Our documentation here (https://chainsafe.github.io/lodestar/validator-management/vc-configuration/#configure-your-builder-selection-andor-builder-boost-factor) includes details on how to use this with our already implemented --builder.selection feature.
Changelog
Features
- produce phase0 beacon block body once (#6270) (@nazarhussain)
- auto use produceBlockV3 deneb+ unless specified (#6262) (@g11tech)
- reject builder blocks if engine indicates censorship (#6258) (@g11tech)
- prune BlsToExecutionChange opPool with head state (#6252) (@tuyennhv)
- track prepare next epoch time (#6256) (@tuyennhv)
- add and support builder_boost_factor query param to produceBlockV3 api (#6236) (@g11tech)
- schedule deneb on goerli (#6254) (@g11tech)
- implement new state caches (#6176) (@tuyennhv)
- allow validator to request blinded versions for locally produced and selected blocks (#6227) (@g11tech)
- add workflow_dispatch to docs (#6235) (@matthewkeil)
- implement blob sidecars with inclusion proof instead of signtaures (#6089) (@g11tech)
- add response headers to produceBlockV3 (#6228) (@ensi321)
- optimistically verify blocks even before all blobs available (#6087) (@g11tech)
Bug Fixes
- add Ephemery Deneb fork epoch (#6287) (@taxmeifyoucan)
- use bigint to calculate max builder boost factor (#6275) (@nflaig)
- parse --builder.boostFactor value as bigint instead of number (#6277) (@nflaig)
- update voluntary exit block inclusion filter (#6278) (@dapplion)
- update teku's bootnode (#6273) (@tbenr)
- increase range for the random value of request id in prover (#6115) (@rdvorkin)
- remove invalid workflow step (#6246) (@matthewkeil)
- correct createFromState() with cached current shuffling (#6240) (@tuyennhv)
- fix block value calculation in
produceBlockV3
(#6207) (@ensi321) - track jobItemWorkReq function time (#6203) (@tuyennhv)
Refactoring
Dependencies
- update bls-keystore to v3.0.0 (#6253) (@nflaig)
- upgrade vitest (#6237) (@nazarhussain)
Continuous Integration
- disable the node debug task (#6283) (@nazarhussain)
Tests
- allow to pass extra args everywhere (#6249) (@jeluard)
- migrate types unit tests to vitest (#6224) (@nazarhussain)
- migrate light-client tests to vitest (#6221) (@nazarhussain)
- migrate logger tests to vitest (#6220) (@nazarhussain)
- fix flaky e2e tests (#6231) (@nflaig)
- migrate utils tests to vitest (#6225) (@nazarhussain)
- migrate fork-choice unit tests to vitest (#6216) (@nazarhussain)
- migrate params tests to vitest (#6217) (@nazarhussain)
- migrate config unit tests to vitest (#6213) (@nazarhussain)
- migrate flare unit tests to vitest (#6215) (@nazarhussain)
- migrate db unit tests to vitest (#6214) (@nazarhussain)
- introduce beacon api test ignore list (#6171) (@jeluard)
- migrate reqresp unit tests to vitest (#6191) (@nazarhussain)
- migrate cli unit/e2e tests to vitest (#6192) (@nazarhussain)
Maintenance
- v1.14.0 release (#6290) (@philknows)
- update url of goerli bootnodes file and genesis ssz (#6279) (@nflaig)
- migrate dashboards to latest grafana version (#6272) (@nflaig)
- fix block production step time panels (#6271) (@nflaig)
- update Grafana panels for gossip validation (#6255) (@tuyennhv)
- blob inclusion proof PR cleanup (#6239) (@g11tech)
- fix yarn install warnings related to vitest (#6232) (@nflaig)
- merge v1.13 stable back to unstable (#6218) (@philknows)
- add preHandler hook to fastify (#6210) (@tuyennhv)
- epoch transition by steps panel (#6205) (@tuyennhv)
- deps: bump get-func-name from 2.0.0 to 2.0.2 (#6006) (@dependabot[bot])
- deps: bump follow-redirects from 1.15.2 to 1.15.4 (#6267) (@dependabot[bot])
- deps: bump undici from 5.22.1 to 5.28.2 (#6265) (@dependabot[bot])
- deps: bump @babel/traverse from 7.11.0 to 7.23.7 (#6264) (@dependabot[bot])
- deps: bump axios from 1.3.4 to 1.6.0 (#6104) (@dependabot[bot])
Documentation
- update RELEASE.md to include coventional commit titles (#6281) (@philknows)
- add crawler verification (#6234) (@matthewkeil)
- fix typo in networking.md (#6243) (@leonarddt05)
- fix docs links (#6233) (@matthewkeil)