Skip to content

Releases: berachain/beacon-kit

BeaconKit v1.1.0

29 Jan 00:34
f87d1d5
Compare
Choose a tag to compare

image

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 mac
  • apt 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

23 Jan 18:27
419cd66
Compare
Choose a tag to compare

image

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 mac
  • apt 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

18 Jan 21:15
c5c04b8
Compare
Choose a tag to compare

image

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

31 Dec 21:51
9f90b2d
Compare
Choose a tag to compare

image

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

20 Dec 17:46
1e1a869
Compare
Choose a tag to compare

image

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, and Get from BlobSidecars (#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 in BlobSidecar 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

14 Dec 20:03
b979363
Compare
Choose a tag to compare

image

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

13 Dec 00:47
e7c223a
Compare
Choose a tag to compare

image

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

09 Dec 16:05
5e1da04
Compare
Choose a tag to compare
v0.5.1 Pre-release
Pre-release

image

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
  • 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

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

03 Dec 23:05
f8825fd
Compare
Choose a tag to compare

image

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

20 Nov 18:43
cafd14e
Compare
Choose a tag to compare

image

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