Releases: berachain/beacon-kit
BeaconKit v1.1.0
Summary
BeaconKit v1.1.0 unlocks minting of BERA tokens towards the BGT contract.
The activation must be coordinated across validators, so it requires a hard fork.
Validators are required to upgrade their binaries before start of epoch 2855
.
BeaconKit v1.1.0 also introduces a new command, deposit validator-keys
, to ease up validators key display.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders | Required |
Non-Payload Builders | Required |
All Changes
- feat(cli): Tool to display all formats of public key (#2426)
- chore(forks): Deneb1 Values (#2425)
- [5/n] refactor(spec): introducing fork version activated specs based on slot (#2424)
- [4/n] refactor(chain-spec): handling values for planned fork upgrades (#2423)
- chore(e2e): Add verification during deposit e2e test (#2398)
- [3/n] refactor(version): Simplify usage of version type (#2427)
- Remove uses of context.Background() (#2376)
- chore(genesis deposit) : Change in local network setup with single node (#2402)
- chore(update deps): update uint256 package v1.3.2 (#2416)
- Revert "update uint256 package"
- update uint256 package
- fix(initchain): Enforce stricter handling on InitChain Requests (#2413)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v1.1.0-linux-amd64 | Signature | |
arm64 | beacond-v1.1.0-linux-arm64 | Signature | |
arm64 | beacond-v1.1.0-darwin-arm64 | Signature | |
System | Option | - | Resource |
Docker | berachain/beacon-kit |
Verifying signatures
Use gpg to verify the signature on these binary archives. This is important to make sure that the content you've downloaded is legitimate. gpg can be installed with most package managers. For example:
brew install gpg
on macapt install gpg
on Ubuntu/Debian
Once gpg is installed, import our public key into its database and verify:
- Download signing public key from here.
- Run
gpg --import berachain_release.asc
- Verify with
gpg --verify {signature}.sig {binary}.tar.gz
- This message is expected:
WARNING: This key is not certified with a trusted signature!
- To resolve the warning, trust the key by signing with your own keypair.
gpg --lsign-key <keyid>
BeaconKit v1.0.1
Summary
BeaconKit v1.0.1 brings some improvements to node operations. Specifically:
- it improves deposits DB, so to ensure deposits persistence even in case of ungraceful shutdowns;
- it cleans up some metrics to improve their correctness;
- it fixes a bug which causes CLI to report the wrong genesis validator root;
BeaconKit v1.0.1 is fully backward compatible.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders | Recommended |
Non-Payload Builders | Recommended |
All Changes
- 2/2 chore(cli): improve tooling around deposits (#2392)
- fix(cli):
beacond deposit validate
had wrong number of args (#2397) - feat: print results from create-validator in json for easier parsing (#2391)
- chore(kurtosis): kurtosis setup to get deposit contract storage slots and fill genesis files (#2383)
- Fix - Release workflow (#2395)
- 1/2 fix(cli): Align genesis validator-root cmd with processing of genesis validators (#2393)
- feat(api): add debug endpoint to beacon API (#2387)
- chore(engine): Remove Unused Errors and Functions (#2384)
- Wrap pebble DB to use SetSync always with deposit store. (#2381)
- fix: handle sigterm properly in case genesis is in the future (#2380)
- fix(execution-client): duplicated payload duration metric (#2367)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v1.0.1-linux-amd64 | Signature | |
arm64 | beacond-v1.0.1-linux-arm64 | Signature | |
arm64 | beacond-v1.0.1-darwin-arm64 | Signature | |
System | Option | - | Resource |
Docker | berachain/beacon-kit |
Verifying signatures
Use gpg to verify the signature on these binary archives. This is important to make sure that the content you've downloaded is legitimate. gpg can be installed with most package managers. For example:
brew install gpg
on macapt install gpg
on Ubuntu/Debian
Once gpg is installed, import our public key into its database and verify:
- Download signing public key from here.
- Run
gpg --import berachain_release.asc
- Verify with
gpg --verify {signature}.sig {binary}.tar.gz
- This message is expected:
WARNING: This key is not certified with a trusted signature!
- To resolve the warning, trust the key by signing with your own keypair.
gpg --lsign-key <keyid>
BeaconKit v1.0.0
Summary
BeaconKit v1.0.0 represents the first production-ready version of BeaconKit.
It is the result of multiple rounds of security audits and extensive testing. It contains every bug fix, code cleanup and performance optimization we have been able to build and verify so far.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders | Required |
Non-Payload Builders | Required |
All Changes
- chore(README): cleanup (#2374)
- chore(state-transition): allow validators with non-eth1 withdrawal creds to stake (#2373)
- chore(license): Update LICENSE to 2025 (#2372)
- fix(state-transition): Correctly enforce deposits length to avoid panics (#2369)
- fix(state-transition): Deposit's signature domain must be fork-agnostic. (#2364)
- fix(consensus): validate block slot (#2368)
- LICENSE: Update change date and contact info (#2351)
- Merge pull request #2365 from berachain/harden-consensus-txs-check
- explicitly check consensus txs count
- chore(scripts): fix docker push to public ghcr (#2363)
- Merge pull request #2362 from berachain/rebase-beaconkit-internal
- Merge remote-tracking branch 'origin' into rebase-beaconkit-internal
- chore(codeowners): use team for codeowners file (#2345)
- fix(state-transition): Correctly enforce local validation of beacon block deposits (#142)
- Release Workflow - Sign Build Artefacts (#141)
- Revert "nit"
- nit
- chore(codeowners): use team for codeowners file (#2345)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v1.0.0-linux-amd64 | Signature | |
arm64 | beacond-v1.0.0-linux-arm64 | Signature | |
arm64 | beacond-v1.0.0-darwin-arm64 | Signature | |
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.6.2
Summary
This includes a consensus BREAKING change to Boonet that is NOT backwards compatible.
Effective changes to validator set processing are:
- The min stake (or
EjectionBalance
) is now set to 250k BERA - The
EffectiveBalanceIncrement
(not the same as minimum deposit amount on the execution layer deposit contract) is now set to 10k BERA
Breaking
This version is NOT fully compatible with bArtio. The last stable release recommended for Bartio is v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | Forbidden | Required | None |
Non-Payload Builders | Forbidden | Required | None |
All Changes
- chore(boonet): min stake upgrade on boonet fork 4 (#2333)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.6.2-linux-amd64 | ||
arm64 | beacond-v0.6.2-linux-arm64 | ||
arm64 | beacond-v0.6.2-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.7.0
Summary
This includes code refactoring and new consensus BREAKING changes to Boonet that are NOT backwards compatible.
- Upgrades cosmos-sdk dependency to v0.52.0
- Using BLS keys from the upstream CometBFT library
- Enforces verification of all historical deposits in CL beacon state (requires all nodes to maintain a full unpruned set of EL deposits)
- Partial removal of generic types throughout the codebase
- Miscellaneous code cleanup
Breaking
This version is NOT fully compatible with bArtio. The last stable release recommended for Bartio is v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | Forbidden | Forbidden | None |
Non-Payload Builders | Forbidden | Forbidden | None |
All Changes
- chore(test): readme for e2e-test (#2316)
- fix: timeout_commit defaults to 0 in init (#2312)
- Add make lint-ci which runs all CI linters (#2314)
- chore(blobs): remove
Len
,GetSidecars
, andGet
fromBlobSidecars
(#2313) - chore(state): use passed in context from comet during process proposal verification (#2311)
- fix(blobs): Validate sidecar
KzgCommitments
and disallow sidecar omission (#2291) - chore(blobs): Validate
Index
field inBlobSidecar
during processing (#2289) - 10/n Remove BeaconBlockT and BeaconStateT generic types (#2297)
- Enable nilaway on CI and remove build tags from linters (#2310)
- Merge pull request #2309 from informalsystems/alesforz/bls-type-is-ptr
- 9/n Remove PayloadIDT generic type (#2293)
- 8/n Remove BlobSidecarT and BlobSidecarsT generic type (#2307)
- Updated go.mod and go.sum to pull latest version of cometbft.
- chore(all): update cosmos-sdk deps (#2221)
- chore(state): cleanup deposits special casing (#2304)
- feat(state-transition): add deposits root to beacon state (#2296)
- appease nilaway
- fix: remove err check for nil to address nilaway false positive
- Remove PayloadAttributesT generic type
- chore(blobs): parallelize blobSidecar header checks (#2286)
- chore(blobs): Cleanup configurable constants for BlobSidecars (#2262)
- 6/n Remove slashinginfo and slotdata (#2284)
- Moved common types back to common package
- Remove BeaconBlockBodyT generic type
- 3/n Remove ExecutionPayloadHeaderT generic type. (#2273)
- 2/n Remove ExecutionPayloadT generic type (#2272)
- 1/n Remove ExecutionAddressT generic type (#2266)
- chore(da): fix broken UT (#2278)
- Support for signed beacon block header and signature verification (#2245)
- fix(blockchain): sequential blob
Persist()
DB writes (#2258) - chore(blockchain) : non optimistic client should not request build optimistically (#2240)
- chore(deps): bump github.com/quic-go/quic-go from 0.48.1 to 0.48.2 in the go_modules group (#2217)
- nits (#2016)
- chore(deps): bump github.com/go-playground/validator/v10 from 10.22.0 to 10.23.0 (#2215)
- chore(deps): bump github.com/protolambda/zrnt from 0.32.2 to 0.32.3 (#2213)
- chore(deps): bump github.com/phuslu/log from 1.0.110 to 1.0.113 (#2212)
- 6/n: Remove WithdrawalT generic type (#2264)
- 5/n: Remove ValidatorT generic type (#2263)
- 4/n: Remove DepositT generic type (#2260)
- 3/n: Remove AttestationDataT generic type (#2259)
- 2/n: Remove ForkT generic type (#2257)
- 1/n: Remove ForkDataT generic type (#2256)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.7.0-linux-amd64 | ||
arm64 | beacond-v0.7.0-linux-arm64 | ||
arm64 | beacond-v0.7.0-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.6.1
Summary
Includes a state machine fix to handle backwards compatibility of validator effective balances.
Breaking
This version is NOT fully compatible with bArtio. The last stable release recommended for Bartio is v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | Forbidden | Required | None |
Non-Payload Builders | Forbidden | Required | None |
All Changes
- fix(state-transition): make
EffectiveBalance
update backward compatible (#2261)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.6.1-linux-amd64 | ||
arm64 | beacond-v0.6.1-linux-arm64 | ||
arm64 | beacond-v0.6.1-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.6.0
Summary
This includes code refactoring && new features that are consensus BREAKING changes to boonet
- Validator set epoch handling
- Enforce validators eth1 credentials
- Reduced non-determinism from state machine scope
- Sidecar processing hardening
- Miscellaneous internal refactoring
Breaking
This version is NOT fully compatible with bArtio. The last stable release recommended for Bartio is v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | Forbidden | Required | None |
Non-Payload Builders | Forbidden | Required | None |
All Changes
- chore(docs) added some docs around validation (#2248)
- Remove WithdrawalCredentialsT generic type (#2254)
- chore(boonet): Fork 3 handling (#2250)
- Remove Eth1DataT generic type (#2251)
- Fix - Permission error in E2E Testing (#2246)
- Remove BeaconBlockHeaderT generic type (#2243)
- increase lint max line-length (#2178)
- fix(blockchain): remove reachable panic in blobsidecar processing (#2244)
- Gracefully stop services on SIGTERM and SIGINT signals (#2239)
- Inherit req ctx when saving state (#2241)
- Move smaller services into BlockchainService (#2220)
- Build errors now show correct file names (#2242)
- bug(validator): Serialize StateRoot computation and sidecar production (#2237)
- fix(state-transition): enforce valid eth1 withdrawal credentials (#2231)
- feat(state-transition): make validators epochs handling close to Eth2.0 specs (#2226)
- chore: fix some function names in comment (#2229)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.6.0-linux-amd64 | ||
arm64 | beacond-v0.6.0-linux-arm64 | ||
arm64 | beacond-v0.6.0-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.5.1
Summary
This includes various chores and fixes to boonet. The biggest change is around CLI tooling:
create-validator
cmd: The arguments are expected in the order of withdrawal address, deposit amount, current version, and genesis validator root. Using withdrawal address instead of credentials.- Before:
beacond deposit create-validator 0x0100000000000000000000007B856C6D250eED55D2D7543ae2169a1cd7f034Ad $DEPOSIT_AMOUNT $FORK_VERSION $GENESIS_VALIDATOR_ROOT --home $HOME_DIR
- After:
beacond deposit create-validator 0x7B856C6D250eED55D2D7543ae2169a1cd7f034Ad $DEPOSIT_AMOUNT $FORK_VERSION $GENESIS_VALIDATOR_ROOT --home $HOME_DIR
- Before:
add-premined-deposit
cmd: Adds a validator to the genesis file with the necessary credentials. The arguments are expected in the order of the deposit amount (in gwei) and withdrawal address. Now both deposit amount and withdrawal address are required and not flags. Both are allowed to be the 0 values.- Before with OPTIONAL --deposit-amount:
beacond genesis add-premined-deposit --deposit-amount 32000000000 --home $HOME_DIR
- After with REQUIRED deposit amount and withdrawal address args:
beacond genesis add-premined-deposit 32000000000 0x7B856C6D250eED55D2D7543ae2169a1cd7f034Ad --home $HOME_DIR
- Before with OPTIONAL --deposit-amount:
Breaking
This version is NOT fully compatible with bArtio. The last stable release recommended for Bartio is v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | Forbidden | Optional | None |
Non-Payload Builders | Forbidden | Optional | None |
All Changes
- fix(kurtosis): fix kurtosis enclave name when using gcp (#2205)
- fix(e2e): Allow more gas to be spent in deposits e2e test (#2223)
- chore(cli): Enforce valid withdrawal address set for
add-premined-deposit
&create-validator
(#2174) - chore(consensus) : Validate the genesis state (#2189)
- fix(state-transition): restore state sync over boonet (#2219)
- chore(state-transition): drop hollow processing for rewards and penalties (#2216)
- beacon repository refactorings and cleanup (#2204)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.5.1-linux-amd64 | ||
arm64 | beacond-v0.5.1-linux-arm64 | ||
arm64 | beacond-v0.5.1-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.5.0
Summary
This includes bug fixes and new features that are consensus BREAKING changes to boonet
- EVM inflation minting at every beacon block
- Fixed validator set handling to improve Eth 2.0 compliance
- Add a cap on the validator set size
- Minor code refactoring and performance optimizations
Breaking
This version is NOT fully compatible with bArtio. The last stable release recommended for Bartio is v0.2.0-alpha.8.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | Forbidden | Required | None |
Non-Payload Builders | Forbidden | Required | None |
All Changes
- chore(forks): Set the boonet fork 2 height (#2209)
- fix(state-transitions): Make setting of eth1 deposit index backward compatible (#2202)
- fix(state-transition): fix deposit signature verification (#2208)
- chore(deps): bump the go_modules group with 2 updates (#2203)
- Use single go.mod for whole beacon-kit (#2199)
- Fix - Increase docker pull limit for E2E Testing (#2200)
- feat(blockchain): introducing validator size cap size (#2119)
- chore(forks): Handle MaxValidatorsPerWithdrawalsSweep based on planned fork upgrade (#2194)
- Add telemetry for beacon and eth version (#2176)
- fix: broken start-erigon make target (#2186)
- Typos fix (#2192)
- protect valSetByEpoch for concurrent access (#2191)
- feature(state-processor): send only validators set diffs to consensus (#2143)
- feature(state-processor): update validators
EffectiveBalance
only when epoch turns (#2142) - feat(withdrawals): Fixed withdrawal for EVM inflation per block (#2158)
- fix: endless loop if DefaultE2ETestTimeout timeout is reached (#2184)
- fix: disable go test timeout to address flaky test-e2e (#2182)
- Add telemetry for diff btw payload and consensus timestamps (#2171)
- fix(state-transitions): verify deposits against contract (#2115)
- chore(all) updated mockery to 2.49.0 (#2173)
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.5.0-linux-amd64 | ||
arm64 | beacond-v0.5.0-linux-arm64 | ||
arm64 | beacond-v0.5.0-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.4.0-alpha.0
Summary
This includes 2 consensus BREAKING changes:
- Improved execution payload timestamp formation and validation.
- Fixing EVM balance of Boonet genesis with inflation withdrawal.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Bartio | Boonet | General |
---|---|---|---|
Payload Builders | None | Required | None |
Non-Payload Builders | None | Required | None |
All Changes
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.4.0-alpha.0-linux-amd64 | ||
arm64 | beacond-v0.4.0-alpha.0-linux-arm64 | ||
arm64 | beacond-v0.4.0-alpha.0-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |