Skip to content

Releases: 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

v0.3.0-alpha.0

14 Nov 21:41
8a04173
Compare
Choose a tag to compare

image

Summary

Security Hardening

  • Proof & Validation Security: Strengthened proof generation and validator validation checks across node API components to enhance accuracy and trustworthiness.
  • Execution & State Transition Protection: Enhanced concurrency handling, error safeguards, and streamlined state transitions for smoother and safer operations.
  • Optimized Dependencies & Cleanup: Updated dependencies, refactored code, and cleared redundant functions to boost performance and reduce technical debt.

Breaking

It is NOT backwards compatible with bartio-beacon-80084 genesis; it is state breaking with respect to v0.2.0-alpha.8.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Bartio General
Payload Builders None Recommended
Non-Payload Builders None Recommended

What's Changed

  • kurtosis (forge-script) : Enhancement to handle dependency from GitHub by @nidhi-singh02 in #1979
  • test(proofs): consistency tests for working proof generation & verification by @calbera in #2015
  • Made StoreKey singleton by @abi87 in #2018
  • chore(cometBFTService): drop redundant context assignemets by @abi87 in #2020
  • bet(testnet/config): Update app.toml according to the new releases by @chuck-bear in #2023
  • chore(DefaultServiceOptions): minor chainID loading refactoring by @abi87 in #2022
  • chore(cometBFTService): some more minor cleanups by @abi87 in #2021
  • chore(all): Run make generate-check by @abi87 in #2027
  • chore(CometBFTService): simplified cometBFTService Info by @abi87 in #2028
  • chore(cometBFTService): simplified CometBFTService by @abi87 in #2026
  • chore(primitives): renaming nits and comments fixes by @abi87 in #2030
  • chore(encoding): dropped go-json direct dependency by @abi87 in #2033
  • chore(all): update mockery by @abi87 in #2036
  • chore(consensus-types): Dropped double allocation in NewFromSSZ by @abi87 in #2040
  • chore(consensus-types): Use EthSecp256k1CredentialPrefix constant for clarity by @abi87 in #2039
  • chore(primitives): fixed ExecutionAddress validation by @abi87 in #2034
  • chore(primitives): dropped duplicated jwt function by @abi87 in #2037
  • chore(consensus-types): Make slashings use math.Gwei by @abi87 in #2038
  • chore(CometBFTService): minor InitChain cleanup by @abi87 in #2035
  • chore(consensus-types): fixed proposer index type by @abi87 in #2041
  • chore(primitives): hex.String basic cleanup by @abi87 in #2044
  • chore(many): Typographical issues by @abi87 in #2032
  • chore(primitives): Consolidating hex.NewString by @abi87 in #2047
  • chore(execution): fixed failedBlocks concurrency by @abi87 in #2060
  • chore(execution): fixed tickers stop by @abi87 in #2059
  • chore(execution): protect rpc.header for concurrent access by @abi87 in #2058
  • chore(primitives): hardened NewRootFromHex by @abi87 in #2051
  • chore(primitives): Reorganized bytes unit tests by @abi87 in #2052
  • chore(primitives): dropped primitives service types by @abi87 in #2063
  • chore(all): updated mockery to v 2.46.3 by @abi87 in #2067
  • chore(execution): Dropped DenebPlus redundant check by @abi87 in #2069
  • chore(execution): another defer ticker fix by @abi87 in #2070
  • feat(node-api): use timestamp ID instead of execution ID for proof namespace by @calbera in #2066
  • fix(node-api): Use the correct id in the proof endpoints routes by @calbera in #2078
  • chore(primitives): minor optimization for PowerOfTwo functions by @abi87 in #2081
  • chore(storage): close storage iterators by @abi87 in #2077
  • chore(primitives): hardened NewU256FromBigInt by @abi87 in #2079
  • chore(primitives): hardened GweiFromWei to avoid integer truncation by @abi87 in #2080
  • chore(consensus-types): Coherent BeaconBlock construction by @abi87 in #2082
  • chore(node-api): Add json tags to returned beacon block header data by @calbera in #2084
  • Fix - Update makefile to use new kurtosis repo by @gummybera in #2085
  • chore(primitives): Dropped hex.String by @abi87 in #2048
  • fix(beacon): consolidated next payload timestamp calculations by @abi87 in #2094
  • chore(payload): uniform error handling for ExecutionPayload retrieval by @abi87 in #2088
  • feat(node-api): proof of proposer index in beacon block by @calbera in #2099
  • chore(storage): hardened db range by @abi87 in #2106
  • Fix - Update erigon repo by @gummybera in #2121
  • fix: let the create-validator command retrieve the loaded configuration. by @dezzeus in #2128
  • chore(state-transition): Add basic unit tests by @abi87 in #2114
  • chore(dep): updated mimetype dep by @abi87 in #2105
  • fix(node-api): hardened node-api default address by @abi87 in #2092
  • bug(cli): hardened convert amount to avoid truncation by @abi87 in #2104
  • chore(da): improved blob processor encapsulation by @abi87 in #2113
  • bug(state-transitions): coherent use of effective balance increment by @abi87 in #2103
  • bug(state-transition): increase balance when validator balance is changed by @abi87 in #2111
  • fix(execution): hardened verifyChainIDAndConnection by @abi87 in #2086
  • fix(payload): guard SendForceHeadFCU with pb.Enabled by @abi87 in #2087
  • fix(node-api): added ValidateValidatorStatus by @abi87 in #2090
  • fix(node-api): hardened CustomValidator validation by @abi87 in #2093
  • chore(consensus-type): Fixed ExecutionPayload json marshalling by @abi87 in #2042
  • fix(consensus, blockchain): set execution payload timestamp based on CometBFT timestamp by @abi87 in #2095
  • perf(state-transition): reduce amount of withdrawals processed by @abi87 in #2110
  • fix(consensus, beacon): hardened proposer validation by @abi87 in #2102
  • fix(beacon): Hardened sidecars validation by @abi87 in #2108
  • chore(state-processor): consolidated state processors UTs by @abi87 in #2136
  • chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 in /build/tools in the go_modules group across 1 directory by @dependabot in #2130
  • chore(README): added Discord badge and minor fix by @abi87 in #2140
  • test: fix e2e tests so they pass locally by @MaanavKhaitan in #2054
  • fix(state-transition): skip execution payload timestamp validation on Bartio by @abi87 in #2147
  • fix(state-transition): Withdrawals backward compatibility with Bartio by @abi87 in #2148
  • chore: fix and execute mod tidy by @dezzeus in #2138
  • fix(consensus): fix consensus height logging by @abi87 in #2149
  • chore: add support for local devnet boonet by @abi87 in #2152
  • chore(all): update SSZ dependencies...
Read more

v0.2.0-alpha.8

16 Sep 20:37
Compare
Choose a tag to compare

image

Summary

Minor upgrade, v0.2.0-alpha.7 was skipped due to an issue with CI.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Priority
Payload Builders / Validators Low
Non-Payload Builders / Full Nodes Low

What's Changed

New Contributors

Full Changelog: v0.2.0-alpha.6...v0.2.0-alpha.8

Binaries

System Architecture Binary PGP Signature
amd64 beacond-v0.2.0-alpha.8-linux-amd64
arm64 beacond-v0.2.0-alpha.8-linux-arm64
arm64 beacond-v0.2.0-alpha.8-darwin-arm64
System Option - Resource
Docker berachain/beacon-kit

v0.2.0-alpha.6

05 Sep 17:59
9735718
Compare
Choose a tag to compare

image

Summary

This release contains a reversion to a prior CometBFT version due to potential minor regression in CometBFT. It also contains a few other minor changes and cleanup.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Priority
Payload Builders / Validators Low
Non-Payload Builders / Validators Low

What's Changed

Full Changelog: v0.2.0-alpha.5...v0.2.0-alpha.6

Binaries

System Architecture Binary PGP Signature
amd64 beacond-v0.2.0-alpha.6-linux-amd64
arm64 beacond-v0.2.0-alpha.6-linux-arm64
arm64 beacond-v0.2.0-alpha.6-darwin-arm64
System Option - Resource
Docker berachain/beacon-kit