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 |