Releases: 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 |
v0.3.0-alpha.0
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
withpb.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...
v0.2.0-alpha.8
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
- chore(cli): rename comment/description for start cli by @chuck-bear in #1996
- chore(testing/config): Update testing config by @chuck-bear in #2000
- chore(contracts): Remove unneeded contracts by @calbera in #1981
- feat(state-transitions): modify beacon state interface for withdrawals by @ocnc in #1997
- Fix spelling by @nnsW3 in #2003
- test(proofs): consistency tests for working proof generation & verification by @calbera in #1993
- Revert "test(proofs): consistency tests for working proof generation & verification" by @itsdevbear in #2005
- fix(cli): Re-add create validator by @itsdevbear in #2004
- feat: Add integrity check by @kalidux in #1987
- fix(cli): deposit cli args by @itsdevbear in #2006
- feat(stf): Cleanup and backport changes from berad by @itsdevbear in #2010
- Docs - Update snapshots URLs by @gummybera in #2011
- Docs: Update README by @Olexandr88 in #2009
New Contributors
- @kalidux made their first contribution in #1987
- @gummybera made their first contribution in #2011
- @Olexandr88 made their first contribution in #2009
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
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
- chore(docs): Add berachain snapshots and fix a41 link by @corduroybera in #1975
- feat(state): Break State out of the CometBFT service by @itsdevbear in #1976
- chore(berad): unused generic by @ocnc in #1978
- feat(state): bing bong by @itsdevbear in #1977
- chore(make): reuse variables by @ocnc in #1982
- feat(beradb): withdrawals by @ocnc in #1991
- feat(beradb): storage rw by @ocnc in #1992
- chore(deps): revert cometbft to version from
v0.2.0-alpha.4
by @itsdevbear in #1994
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 |
v0.2.0-alpha.5
Summary
General tech debt and performance improvement related release. This release mainly begins some under the hood architectural changes as we push towards API stability.
Minor Breaking Changes
- JWT Hex Token requires a "0x" prefix to be ingested.
- Cosmos --api.XXXX flags have been deprecated as have the REST and GRPC endpoints on ports 1317 and 9090 respectively.
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
- chore(beacon): prune the unuseds by @ocnc in #1857
- feat(primitives): Create our own custom execution types by @itsdevbear in #1856
- feat: 🎸 Added initial list of snapshot providers by @codingwithmanny in #1859
- feat(types): RLP withdrawals by @itsdevbear in #1858
- perf(storage): remove fmt.Sprintf in the loop by @hoank101 in #1860
- bartio sync devtools by @archbear in #1862
- feat(server-v3): Baseapp in repo experiment. by @itsdevbear in #1861
- fix(logger): error colour by @ocnc2 in #1863
- feat(server-v3): runtime app by @itsdevbear in #1864
- chore(store): remove save from flow by @archbear in #1866
- feat(examples): custom berad by @itsdevbear in #1836
- feat(typing): use the unwrap by @ocnc in #1867
- feat(runtime): Remove preblock and end block -> finalize blcok by @itsdevbear in #1870
- fix(main): tidy by @ocnc in #1872
- chore(deps): bump github.com/docker/docker from 27.1.0+incompatible to 27.1.1+incompatible in /build/tools in the go_modules group across 1 directory by @dependabot in #1874
- feat(arch): Remove cosmos module manager - big if true by @itsdevbear in #1873
- feat(node): more cleanup by @itsdevbear in #1875
- feat(app): more deadcode removal by @itsdevbear in #1879
- most hugest optimization by @archbear in #1878
- feat(app): remove unused state by @itsdevbear in #1880
- can't believe arch didn't apply the giga optimization here by @ocnc in #1882
- feat(transitions): move berad transitions stuff around by @ocnc in #1881
- feat(kurtosis): Forge script to deploy smart contracts by @nidhi-singh02 in #1770
- chore(da): add generics by @archbear in #1885
- feat(staking): limit valset by config by @ocnc in #1886
- feat(execution): Write our own engine client by @itsdevbear in #1888
- fix(block-store): fix pruner, use indexed map, add support for state-root by @archbear in #1876
- feat(types): more geth removal by @itsdevbear in #1890
- integration of geth connected to bartio by @nidhi-singh02 in #1892
- chore(block-store): silence pruner logging for not found keys by @calbera in #1891
- chore(cli): remove server context by @archbear in #1900
- chore(cli): remove bad code from deposit cli by @archbear in #1896
- chore(primitives/net/jwt): improve coverage by @bloomingpeach in #1901
- chore(deps): bump
go
tov1.23.0
by @itsdevbear in #1902 - chore(node-core): logger generic moment by @archbear in #1903
- chore(deps): fix CI by @ocnc in #1906
- chore(errors): Cleanup by @itsdevbear in #1905
- feat(berad): statedb by @ocnc in #1904
- chore(types): Remove NewFromSSZ by @calbera in #1898
- Revert "chore(types): Remove NewFromSSZ" by @calbera in #1909
- fix(deposit): umst by @archbear in #1911
- chore(middleware): cleanup unused generics by @archbear in #1912
- chore(da): clea by @archbear in #1913
- chore(misc): bye bye by @archbear in #1914
- chore(da): cleanup generics + propogate a bit by @archbear in #1917
- chore(ci): fix by @ocnc in #1918
- chore(cli): remove legacy code by @ocnc2 in #1919
- feat(beradb): remove eth1data by @ocnc in #1920
- chore(storage-backend): unused generics by @archbear in #1921
- goodbye sir by @archbear in #1922
- feat(beradb): storage layout by @ocnc in #1924
- feat(beradb): deviate from the spec by @ocnc in #1923
- chore(beacon): remove more by @archbear in #1926
- chore(chain): generics & cleanup by @ocnc2 in #1925
- chore(storage-backend): generics & cleanup by @ocnc2 in #1927
- introduce interfaces for payload buidler by @archbear in #1929
- chore(node-core): removing unused fields + funcs by @ocnc2 in #1928
- chore(node-api): cleanup by @archbear in #1931
- Integrate beacond connected to bArtio via docker by @nidhi-singh02 in #1848
- feat(beradb): enhance by @ocnc in #1930
- feat(testing): Introduce node-api E2E testing by @calbera in #1820
- feat(async): dispatcher by @ocnc2 in #1910
- chore(blockchain): Consolidated
validatorUpdates
canonical sort by @abi87 in #1936 - chore(deps): remove local replaces by @ocnc2 in #1937
- chore(async): fix weird import aliases by @ocnc2 in #1939
- smallest change by @ocnc2 in #1940
- feat(spec): add betnet by @itsdevbear in #1941
- chore(node-core): generics pt 1 by @archbear in #1932
- chore(cleanup): remove silly p2p thing by @itsdevbear in #1942
- Fix typo Update README by @Ocheretovich in #1935
- refactor(runtime): Consolidate baseapp and runtime app by @itsdevbear in #1943
- feat(deps): fix deps on main by @itsdevbear in #1944
- feat(services): move registry to node-core by @itsdevbear in #1945
- feat(comet): kill c-engine by @itsdevbear in #1946
- chore(node-core): deposit generic by @archbear in #1950
- feat(berad): yayayayayayayayap by @ocnc in #1951
- chore(dispatcher): register event instead of broker by @ocnc2 in #1949
- chore(async): clear channel before emitting event from abci + cleanup by @ocnc2 in #1948
- feat(node): server v0 by @itsdevbear in #1938
- feat(abci): more cometbft type cleanup by @itsdevbear in #1952
- chore(block-store): Store in memory using LRU by @calbera in #1954
- feat(cometbft): Begin moving start into the service by @itsdevbear in #1955
- Deploy PoL Smart Contract through forge kurtosis package by @nidhi-singh02 in #1894
- feat(server): Move CometNode into CometBFTService by @itsdevbear in #1956
- feat(Server): more server by @itsdevbear in #1958
- feat(server): remove server context by @archbear in https://github.com/b...
v0.2.0-alpha.4
Summary
This release focuses on preparation for the eventual SSZ-DB transition by upgrading our encoding library as well as various other performance fixes. Most notably migrating from github.com/ferranbt/fastssz
to github.com/karalabe/ssz
for the majority of encoding and hashing. Nodes should see reduced memory allocations and subsequently much less CPU time spent garbage collecting.
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 |
All Changes
- feat(ssz): test using peters lib by @itsdevbear in #1761
- feat(ssz): convert forkdata to peters lib by @itsdevbear in #1763
- feat(ssz): move deposit onto new lib by @itsdevbear in #1764
- submit deposit transaction on create-validator cmd by @nidhi-singh02 in #1688
- chore(deps): make tidy sync by @nidhi-singh02 in #1765
- feat(attestations): set attestation and slashing info on block body by @ocnc in #1766
- chore(kurtosis): unused function clean up by @nidhi-singh02 in #1768
- fix(DenebPlus): correct version by @hoank101 in #1767
- chore(build): Rename simd by beacond by @chuck-bear in #1769
- feat(types): typesv2 by @itsdevbear in #1772
- feat(node-api): wire to backend by @archbear in #1756
- feat(ssz): Move sidecars onto peters library and interface cleanup by @itsdevbear in #1778
- feat(types): more conversion by @itsdevbear in #1780
- feat(node-api): header endpoint support + cleanup by @archbear in #1782
- feat(types): convert eth1data to new ssz lib by @itsdevbear in #1781
- feat(block-store): fix get, store block roots -> slot for api block id support by @archbear in #1783
- feat(types): More ssz conversion by @itsdevbear in #1784
- feat(node-api): logging, base handlers & refactor by @ocnc2 in #1776
- fix(logger): remove background color for Node API logs by @ocnc2 in #1787
- feat(type): Upgrade ExecutionPayload to new lib by @itsdevbear in #1786
- feat(ssz): Execution Payload Step1 by @itsdevbear in #1788
- feat(ssz): move execution payload part 2 by @itsdevbear in #1789
- feat(types): BeaconBlockBody by @itsdevbear in #1790
- feat(ssz): BeaconBlock to new lib by @itsdevbear in #1792
- chore(ssz): Use the correct transactions root merkleization based on version by @calbera in #1791
- feat(ssz): Move BeaconState by @itsdevbear in #1794
- feat(json): Use go-json by @itsdevbear in #1795
- feat(kurtosis): Enable pprof in Kurtosis by @chuck-bear in #886
- fix(node-api): change default port addr by @archbear in #1796
- feat(da): add Empty() to BlobSidecars by @itsdevbear in #1799
- feat(node-api): Introduce block proposer proof by @calbera in #1775
- feat(eip4788): Beacon Block Prover Contract by @calbera in #1800
- feat(types): Withdrawals plural type and various upgrades by @itsdevbear in #1802
- feat(types): Bartio Txs by @itsdevbear in #1803
- feat(node-api): Introduce execution block number proof by @calbera in #1801
- chore(store): Disallow removing from validator registry to return all correctly by @calbera in #1805
- feat(ssz): move transactions to the new type by @itsdevbear in #1804
- feat(ssz): more transactions stuff by @itsdevbear in #1808
- feat(txs): try again by @itsdevbear in #1809
- feat(types): Move deposits to new ssz lib by @itsdevbear in #1810
- feat(ssz): Validators by @itsdevbear in #1813
- perf(state-transition): Remove uneeded error check. by @itsdevbear in #1814
- chore(cli): refactor and cleanup config by @ocnc2 in #1793
- chore(cli): small clarification on app config by @ocnc2 in #1815
- feat(node-api): Use state processor to return the corrected beacon state on backend by @archbear in #1812
- chore(deps): bump github.com/docker/docker from 27.0.0+incompatible to 27.1.0+incompatible in /build/tools in the go_modules group across 1 directory by @dependabot in #1817
- feat(node-api): Optimizations usage of math.U64 by @calbera in #1818
- feat(payload): Move to holiman lib by @itsdevbear in #1821
- feat(math): U256Hex for 0x encoding by @itsdevbear in #1823
- chore(codec): Remove usage of reflect by @itsdevbear in #1825
- test(consensus-types): add tests for MarshaSSZTo function by @mmyyrroonn in #1826
- feat(types): Remove unneeded state layer by @itsdevbear in #1827
- feat(ssz): BeaconState Generic by @itsdevbear in #1828
- chore(ssz): Cleanup fastssz deps by @itsdevbear in #1829
- feat(ssz): Remove error from
HashTreeRoot()
by @itsdevbear in #1830 - fix(blob): potential inclusion proof has bug by @itsdevbear in #1832
- feat(node-api): Get proof for execution fee recipient by @calbera in #1831
- refactor(beacondb): Move Expected Withdrawals onto the State Processor by @itsdevbear in #1835
- feat(node-api): Allow querying beacon blocks by execution numbers by @calbera in #1824
- chore(eip4788): Optimize and test BeaconVerifier contract by @calbera in #1838
- chore(storage): Set active fork version from chain spec by @calbera in #1841
- chore(node-core): remove chain service from middleware + cleanup by @ocnc2 in #1842
- fix(state): StateRoot issue by @itsdevbear in #1846
- test(consensus-types): additional unit tests for setter&getter by @blackmoshui in #1839
- chore(deps): Bump cometbft by @itsdevbear in #1851
New Contributors
- @mmyyrroonn made their first contribution in #1826
- @blackmoshui made their first contribution in #1839
Full Changelog: v0.2.0-alpha.3...v0.2.0-alpha.4
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.2.0-alpha.4-linux-amd64 | ||
arm64 | beacond-v0.2.0-alpha.4-linux-arm64 | ||
arm64 | beacond-v0.2.0-alpha.4-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.2.0-alpha.3
Summary
This release is maintenance release with various improvements, most notably we have seen significant performance improvements from CometBFT.
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
- feat(ssz): Cleanup by @itsdevbear in #1646
- chore(payload): agane by @ocnc in #1648
- chore(middleware): agane by @ocnc in #1649
- test: add additional test for crypto, merkle by @hoank101 in #1651
- chore(cli): non breaking change by @ocnc2 in #1655
- feat(ssz): More updates by @itsdevbear in #1654
- perf(serializer): use direct indexing to avoid append overhead by @hoank101 in #1657
- feat(mod): create geth-primitives module to isolate go-ethereum import by @itsdevbear in #1661
- feat(mod): Finish integration of geth-primitives by @itsdevbear in #1662
- feat(ssz): Add type defs by @itsdevbear in #1664
- feat(merkleizer): remove redundant code by @itsdevbear in #1665
- feat(ssz): consolidate lists into one type by @itsdevbear in #1666
- feat(ssz): Cleanup Merkleizer by @itsdevbear in #1668
- feat(ssz): Container type by @itsdevbear in #1669
- feat(ssz): more stuff by @itsdevbear in #1670
- chore(state-transition): you know what this is by @ocnc in #1676
- feat(ssz): SSZ stuff by @itsdevbear in #1675
- chore(storage): last one before state transitions again by @ocnc in #1679
- feat(bytes): Add SSZ logic by @itsdevbear in #1680
- test(ssz): consistency tests of transactions hash tree root by @calbera in #1678
- test: add more test for bytes by @hoank101 in #1686
- fix(b96): HashTreeRoot error by @itsdevbear in #1687
- feat(encoding): remove weird type overhead thing by @itsdevbear in #1691
- test(merkle): fuzz testing large inputs on parallelized root hasher by @calbera in #1690
- feat(cometbft): big spicy energy by @itsdevbear in #1692
- test(ssz): conformance tests for merkleizing byte lists/vectors by @calbera in #1693
- test(primitives): add more test for tree by @hoank101 in #1695
- fix(merkle): Parallelize hash re-enable by @itsdevbear in #1696
- feat(ssz): Math packagification by @itsdevbear in #1702
- chore(primitives): move ssz folder by @itsdevbear in #1703
- feat(deps): update-dep on everything by @itsdevbear in #1704
- fix(deposits): add validator balance fix by @ocnc in #1701
- perf(merkle): enable parallelized hasher by @calbera in #1700
- test(primitives): add more test for math by @hoank101 in #1708
- chore(storage): somehow turned into a big refactor by @archbear in #1707
- feat(proof): Field and Object path by @itsdevbear in #1716
- feat(ssz): ItemLength by @itsdevbear in #1717
- test(consensus-types): add more test for signing data by @hoank101 in #1721
- test(engine-primitives): improve coverage by @TropicalDog17 in #1723
- chore(testing-bartio): Update timeout_commit to 500ms by @chuck-bear in #1725
- Handle node crash when privValKeyFile and privValStateFile is not absolute path by @nidhi-singh02 in #1722
- chore(body): split body by @ocnc in #1726
- feat(block-body): Add Deneb+ by @ocnc in #1728
- chore(merkle): Re-use bytes buffer for merkle hasher by @calbera in #1710
- chore(kurtosis): upgrade to v1.0.0 by @ocnc in #1727
- test(consensus-types): add more test for types by @hoank101 in #1729
- test(consensus-types): add more unit tests for ExecutableDataDeneb by @minhngoc274 in #1568
- feat(ssz): refactor
schema
and use it in the core types by @itsdevbear in #1720 - feat(ssz): create package
merkle
for all things merkle by @itsdevbear in #1731 - Kurtosis clean up by @nidhi-singh02 in #1735
- chore(node-core): a break from server v2 by @archbear in #1736
- chore: update minimum go version info by @lfz941 in #1737
- chore(docs): update comments that do not start with the name of the exported element. by @TropicalDog17 in #1730
- chore(deneb-plus): forgot to implement set eth1data by @ocnc in #1738
- refactor: refactor code and update function comment by @hoank101 in #1739
- chore(testing-bartio): Update timeout config by @chuck-bear in #1741
- Refactor code : cleanup by @nidhi-singh02 in #1740
- I like clean code : Removed unused errors by @nidhi-singh02 in #1745
- test(consensus-types): add more test for block_denebplus by @hoank101 in #1742
- chore: fix some comments for struct field by @stellrust in #1743
- chore(ssz): more merkle proofs from spec by @calbera in #1744
- fix(makefile): use beacon kit flag for log level by @ocnc2 in #1751
- chore: fix comments by @caseylove in #1752
- feat(block-store): basic block store for api and prover by @archbear in #1746
- tidy by @archbear in #1753
- refactor(node-api): remove the extra logic because the length is 32 by @hoank101 in #1455
- Added
quick
-based testing andztyp
test vectors for ssz.Vector, ssz.List and ssz.Container by @sbudella-gco in #1699 - add otterscan to kurtosis by @nidhi-singh02 in #1519
- refactor(beacon): decouple from cosmos by @archbear in #1759
- Docs improvements by @cratiu222 in #1719
New Contributors
- @minhngoc274 made their first contribution in #1568
- @lfz941 made their first contribution in #1737
- @stellrust made their first contribution in #1743
- @caseylove made their first contribution in #1752
- @sbudella-gco made their first contribution in #1699
- @cratiu222 made their first contribution in #1719
Full Changelog: v0.2.0-alpha.2...v0.2.0-alpha.3
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.2.0-alpha.3-linux-amd64 | ||
arm64 | beacond-v0.2.0-alpha.3-linux-arm64 | ||
arm64 | beacond-v0.2.0-alpha.3-darwin-arm64 | ||
System | Option | - | *... |
v0.2.0-alpha.2
Summary
This release is an extensive performance related release including significant reductions in CPU and RAM consumption. A few notable changes:
- Addresses several issues with CLI commands namely around the usage of the
--homedir
flag. - Introduced our own custom BeaconKit logging system that replaces the standard Cosmos-SDK logger.
- Moved general runtime architecture towards an event driven design in preparation for future architecture changes around consensus engines (Rollkit soon!).
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders / Validators | Medium |
Non-Payload Builders / Full Nodes | Medium |
All Changes
- test: add additional test for MarshalUnmarshalBitList and refactor name comment by @hoank101 in #1489
- test: add additional test for kzg_commitment by @hoank101 in #1497
- perf(sha256): Re-use hasher to reduce mallocs by @itsdevbear in #1499
- perf(ssz): Optimize pad chunks to re-use buffer by @itsdevbear in #1500
- test: add additional test for bytes by @hoank101 in #1503
- fix(docs): correct some typo for godoc by @htiennv in #1505
- feat(service): Remove
Status()
by @itsdevbear in #1506 - add blockscout to kurtosis by @nidhi-singh02 in #1502
- Fix typos by @nnsW3 in #1493
- feat(status): Service Status by @itsdevbear in #1507
- feat(deps): remove async replace by @itsdevbear in #1509
- chore(node-core): why are we (cobra imports) still here (in node-core), just to suffer? by @ocnc2 in #1496
- feat(middleware): Remove un-needed type by @itsdevbear in #1510
- chore(ci): tidy sync by @archbear in #1515
- feat(genesis): implement marshaler for executionPayloadHeader wrapper type by @archbear in #1512
- feat(async): Async PreBlock part 1 by @itsdevbear in #1511
- test: improve test for MarshalUnmarshalBitList by @hoank101 in #1491
- fix(docs): correct some typo for godoc by @htiennv in #1517
- test: add more test for consensus-types by @hoank101 in #1516
- test: add TestGetArrayDimensionality test by @TropicalDog17 in #1495
- fix(ssz): adjust the initial offset of variables-length fields by @TropicalDog17 in #1492
- test: add additional test fo primitives/hex by @hoank101 in #1521
- feat(middleware): Cleanup by @itsdevbear in #1522
- feat(cleanup): Middleware by @itsdevbear in #1523
- chore(beacon): we are so back (and by back i mean decoupled and by we i mean the beacon and consensus-types module) v2 (like server) by @archbear in #1518
- feat(service): Async ABCI service by @itsdevbear in #1525
- test(net/jwt): refactor test to use
require
pkg by @TropicalDog17 in #1528 - fix(makefile): change tidy-sync to check diffs correctly by @archbear in #1527
- chore(state-processor): logic for clarity by @ocnc in #1530
- feat(cli): Query Genesis Validator Root by @ocnc in #1531
- ci: remove
prompt
package from ci by @TropicalDog17 in #1535 - test: replace reflect.DeepEqual to require.Equal by @TropicalDog17 in #1532
- chore(runtime): decouple consensus types by @archbear in #1504
- feat(log): Move to
github.com/phuslu/log
by @itsdevbear in #1437 - chore(logging): minor perf improvements and cleanup by @itsdevbear in #1536
- fix(validator): Fix race condition and possible deadlock in ABCI middleware by @itsdevbear in #1537
- test(primitives): add additional test for math, version by @hoank101 in #1534
- test(primitives): add unit tests for chain/helpers.go by @trungnt1811 in #1529
- refactor(mod/validator): breakdown request block for proposal by @kien6034 in #1508
- fix(ci): tidy and lint by @archbear in #1540
- feat(logger): More optimizations by @itsdevbear in #1541
- chore(state-transition): decouple from types by @archbear in #1539
- feat(logger): reduce opts even more by @itsdevbear in #1542
- feat(logger): Remove more extra stuff by @itsdevbear in #1544
- feat(types): Modular PayloadID by @itsdevbear in #1550
- fix(log): add check keyVals invalid by @hoank101 in #1546
- feat(attributes): AttributesFactory by @itsdevbear in #1551
- chore(go): Update dependency versions for correct build by @calbera in #1554
- chore(primitives): Clean up primitive types by @calbera in #1555
- cleanup in kurtosis by @nidhi-singh02 in #1545
- chore(node-core): cleanup + prep for server v2 by @archbear in #1561
- chore(node): nitpicky stuff by @archbear in #1562
- test(da): add unit tests for store/pruner.go by @trungnt1811 in #1548
- fix(execution): zero max deposits by @trungnt1811 in #1564
- test(consensus-types): additional unit tests for genesis.go by @trungnt1811 in #1566
- chore: smol typo fixes by @ayenesimo1i in #1567
- chore(types): [WIP] PayloadAttributes generic by @itsdevbear in #1559
- feat(da): move blob verification to the da service by @itsdevbear in #1570
- feat(linter): re-enable staticcheck by @itsdevbear in #1571
- feat(abci): nil error by @itsdevbear in #1572
- feat(abci): continue scaffolding the async middleware by @itsdevbear in #1573
- fix(validator): Validators were never setting graffiti :( by @itsdevbear in #1574
- test(consensus-types): add additional test for header by @hoank101 in #1578
- test: add additional test for validator, withdrawal_credentials by @hoank101 in #1576
- feat(testing): Add a basic eip 4844 test by @itsdevbear in #1577
- chore(benchmarks): cleanup logger benchmarks by @ocnc2 in #1579
- refactor: refactor UnmarshalBool by @TropicalDog17 in #1565
- chore: remove true comparision by @TropicalDog17 in #1558
- feat(middleware): Move DA to full async by @itsdevbear in #1575
- feat(async): Cleanup deps by @itsdevbear in #1581
- chore(deps): bump cosmos-sdk by @itsdevbear in #1582
- test(da): add additional test for sidecar by @hoank101 in #1583
- feat(middleware): Fully break blobs into async ch by @itsdevbear in #1584
- chore(cleanup): idk what to do so here by @archbear in #1585
- feat(abci): Async Process Proposal by @itsdevbear in #1587
- clearing cache for blutgang by @nidhi-singh02 in #1588
- feat(middleware): Async Finalize Block by @itsdevbear in #1589
- feat(logger): configurable through CLI & fix dupe provision by @ocnc2 in #1580
- feat(primitives): Constraints by @itsdevbear in #1591
- feat(engine): Improving logging and metrics by @itsdevbear in ...
v0.2.0-alpha.1
Summary
This release addresses includes minor performance and stability improvements. Thank you to everyone who submitted bug reports, here are a few notable highlights:
- Resolved "Chain Gapped issue" (#1369)
- Minor CLI issues (#1415)
- Included a HashTreeRoot() caching change to track performance improvements: #1429
- Resolved memory growth issue in IAVLFastNode, please set
iavl-disable-fastnode=true
in yourapp.toml
.
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 |
All Changes
- test: add additional test for MarshalBitList (#1463)
- chore(ci): fix pipeline
- chore(ci): fix pipeline
- fix(ci): pushing docker containers still having issues (#1485)
- feat(testnet): adjust bArtio config (#1484)
- feat(testnet): reduce timeout propose and timeout for payload builder (#1483)
- feat(deps): bump engine-primitives (#1482)
- chore(deps): sync primitives
- chore(logging): fix emojis
- chore(deps): bump holiman/uint256
- chore: fix lint and refactor name comment (#1479)
- chore(deps): tidy sync
- chore(deps): run dep sync
- feat(mod):
mod/config
(#1478) - chore(deps): make tidy sync
- chore(node-core): decouple runtime and app module (#1438)
- tests for other scenarios (#1477)
- chore(components): cleanup (#1473)
- chore(ci): move off of latest besu image cause broken (#1474)
- chore(node-core): types.go (#1471)
- test: increase coverage for solidity contracts (#1450)
- chore: minor typo fixes (#1469)
- chore(node-core): remove module.Environment deps from storage backend initialization (#1468)
- feat(ci): fix (#1467)
- test: add additional test for payload_header, 100% coverage (#1464)
- Merge branch 'main' of ssh://github.com/berachain/beacon-kit
- fix(kurtosis): eth package has moved
- fix(ci): docker env tag (#1465)
- Add L0vd CL Seednodes and EL Bootnode (#1466)
- Tests for kzg package (#1462)
- chore(config): IAVL Fast-Node should always be disabled on IAVL v1.x
- fix(chain): Feed should be fired async (#1460)
- Merge branch 'main' of ssh://github.com/berachain/beacon-kit
- chore(deps): run tidy sync
- feat(metrics): report os and arch (#1458)
- fix dokcer
- bet
- chore(deps): run update-dep
- feat(mod): add
async
module (#1459) - chore(ci): Further improve our ci setup (#1457)
- fix(docker): Docker image builds did not set proper build_args (#1456)
- fix(version): Version needs to be more based (#1454)
- feat(node-core): decouple middleware from runtime (#1453)
- Merge branch 'main' of ssh://github.com/berachain/beacon-kit
- chore(deps): make tidy sync
- chore(node-builder): provide chain spec FOR REAL this time (#1452)
- chore(deps): run update-deps
- refactor(mod/beacon): fix linters nested if in sendPostBlockFCU function (#1447)
- chore(deposit): cleanup + remove deadcode (#1444)
- style(consensus-types):fix mnd linters (#1446)
- tests to increase the coverage (#1445)
- Revert "fix(kurtosis): reth flags got updated or something idk (#1441)" (#1443)
- chore(e2e): bump kurtosis (#1442)
- fix(kurtosis): reth flags got updated or something idk (#1441)
- feat(engine): more cleanup (#1440)
- fix(typo): fix some go doc typos (#1439)
- refactor: disable gochecknoglobals in test files (#1436)
- test: improve code coverage (#1426)
- chore(engine): Cleanup (#1435)
- fix(types): Withdrawal typo
- chore(engine): cleanup deadcode (#1433)
- chore(node-core): depinject service registry (#1428)
- feat(signer): add a safety check to the length of the signature returned by the signer (#1432)
- Merge branch 'main' of ssh://github.com/berachain/beacon-kit
- fix(lint): nilaway being annoying
- fix(sha256): Use simd everywhere (#1431)
- feat(state-processor): Optimize state transition (#1430)
- perf(ssz): Cache HashTreeRoot (#1429)
- chore(node-core): depinject chain service (#1425)
- chore(node-core): depinject validator service & cleanup (#1424)
- chore(validator): Improve naming
- tests for engine primitives package (#1423)
- fix(engine): JWT refresh hard error (#1421)
- chore: correct comment naming (#1420)
- chore(node-core): depinject runtime (#1419)
- fix(readme): wrong link in README
- feat(ci): Fix Google Cloud setup
- fix(ci): stuck runner
- add Staketab seed and enode (#1416)
- Merge branch 'main' of ssh://github.com/berachain/beacon-kit
- chore(ci): change runner
- feat(deps): fix docker build (#1417)
- fix(release): image was modified
- chore(repo): dep bump
- fix(docker): build
- chore(deps): go mod tidy & sync
- fix(cli): payload builder attributes (#1415)
- chore(repo): remove replaces now that repo is open source (#1414)
- Update docker.yml
- chore(sync): bump deps
- feat(README): cleanup spacing
- feat(README): Uncenter and remove assets
- feat(readme): remove files (#1411)
- tests for engine primitives package (#1410)
- refactor: add miss defer and refactor name function (#1408)
- fix(networks): Update client.toml to 80084 (#1409)
- chore(node-builder): some more generics idk man (#1406)
- add kurtosis pkg icon (#1405)
- chore(README): updates (#1403)
- chore(node-builder): move deposit service out of runtime (#1401)
- fix(deposits): error in failed blocks map cleanup
- chore(node-builder): move blobs processor out of provide runtime (#1400)
- chore(node-builder): cleanup depinject (#1399)
- chore(repo): Cleanup readme and fix kurtosis yaml (#1398)
- fix(comet): Revert syncing to head change, seems unreliable. (#1369)
- chore(node-builder): depinject db pruners and manager (#1394)
- feat(types): more type cleaning (#1396)
- chore(README): emphasize modularity (#1397)
- feat(types): Modularity (#1395)
- feat(consenus-types): more cleanup (#1393)
- feat(consensus-types): Hardtype BeaconBlockBody (#1392)
- chore(deps): bump cometbft api (#1391)
- feat(cleanup): Create DefaultDepInjectConfig (#1390)
- feat(state-processor): ForkDataT generic (#1389)
- feat(node-core): Allow Depinjecting custom components. (#1388)
- chore(node-builder): depinject state processor (#1387)
- chore(node-builder): depinject payload builder (#1386)
- feat(events): Generalize event struct (#1384)
- chore(node-builder): depinject beacon-deposit-contract (#1385)
- feat(validator): minor cleanup (#1382)
- feat(inactivity-leak): add chainspec constants (#1383)
- feat(ci): run e2e on their own runner (#1380)
- refactor(validator): Forkchoice update logic should be more consolidated (#1373)
- Update cl-seeds.txt (#1368)
- chore(node-builder): depinject execution-engine (#1377)
- chore(cli): goland is a rug, i love cursor <3 (#1379)
- chore(cli): cleanup (#1378)
- chore(cli): init mod/cli (#1375)
- Update cl-seeds.txt (#1370)
- chore(seeds): Add nodeinfra seeds (#1372)
- Add Nodes.Guru seeds (#1374)
- Update el-bootnodes.txt (#1371)
- chore(node): refactor builder -> core, make node a type and builder build a node (#1367)
- feat(testnet): collect premined-deposits
- feat(testnet): Update config.toml
- chore(genesis): update app version
- chore(testnet): add seed and bootnodes
- chore(semver): start v0.2.0-alpha.1 release cycle
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.2.0-alpha.1-linux-amd64 | ||
arm64 | beacond-v0.2.0-alpha.1-linux-arm64 | ||
arm64 | beacond-v0.2.0-alpha.1-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |
v0.2.0-alpha.0
Summary
This release focus on bug fixes and stability improvements surrounding block building and the state transition lifecycle.
It is the recommended executable for bartio-beacon-80084
genesis and state breaking with respect to v0.1.0-alpha.1
.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders / Validators | Required |
Non-Payload Builders / Full Nodes | Required |
What's Changed
- feat(deposit-contract): add auth on beacon deposit contract by @ocnc in #1297
- feat(testnet): bArtio Testnet Genesis by @itsdevbear in #1322
- feat(testnet): Update bArtio Genesis by @itsdevbear in #1324
- feat(testnet): Change CL chain-id by @itsdevbear in #1325
- Create Seeds.txt by @Brendan-Whispernode in #1328
- chore(testing): bump Kurtosis by @itsdevbear in #1329
- chore(seeds): Add b-harvest seed node by @corduroybera in #1330
- chore(seeds): Add nodeinfra seed by @corduroybera in #1332
- chore(seeds): Add nodesguru seed by @corduroybera in #1333
- feat(blobs): Handler abstraction by @itsdevbear in #1337
- fix(ci): release links to binaries were incorrect by @itsdevbear in #1338
- fix(da): Ensure blob verifier cannot be nil by @itsdevbear in #1331
- feat(kzg): Improve KZG Error message by @itsdevbear in #1340
- fix(seeds): Update node infra seeds by @corduroybera in #1342
- feat(validator): Break optimistic into helper functions by @itsdevbear in #1341
- Update Seeds.txt by @Brendan-Whispernode in #1343
- feat(engine): Improve logging around payloadID stuff by @itsdevbear in #1345
- feat(blobs): Verify sidecars in process proposal by @itsdevbear in #1335
- chore(deps): bump golang by @itsdevbear in #1346
- chore(pruner): cleanup by @archbear in #1347
- Update Seeds.txt by @blacknodes in #1351
- fix(engine): Engine emits VALID payloadID nil log line when it shouldn't by @itsdevbear in #1348
- Update Seeds.txt by @jjangg96 in #1353
- feat(validator): separate core logic by @itsdevbear in #1354
- fix(engine): only add to the cache if payload is non nil by @itsdevbear in #1357
- feat(validator): Introduce
shouldBuildOptimisticPayloads
by @itsdevbear in #1356 - feat(blobs): Verify sidecars in process proposal by @itsdevbear in #1355
- (feat) Add Terminal x Firstset seed and bootnode by @vlddlv in #1358
- feat(payload-builder): Abort on already found PayloadID for slot and block root. by @itsdevbear in #1363
- feat(da): Blob types is nil by @itsdevbear in #1365
- feat(testnet): clean genesis, update chain id by @itsdevbear in #1366
- feat(transition): Skip state transition on nil block by @itsdevbear in #1362
New Contributors
- @Brendan-Whispernode made their first contribution in #1328
- @blacknodes made their first contribution in #1351
- @jjangg96 made their first contribution in #1353
- @vlddlv made their first contribution in #1358
Full Changelog: v0.1.0-alpha.1...v0.2.0-alpha.0
Binaries
System | Architecture | Binary | PGP Signature |
---|---|---|---|
amd64 | beacond-v0.2.0-alpha.0-linux-amd64 | ||
arm64 | beacond-v0.2.0-alpha.0-linux-arm64 | ||
arm64 | beacond-v0.2.0-alpha.0-darwin-arm64 | ||
System | Option | - | Resource |
Docker | berachain/beacon-kit |