Releases: bnb-chain/reth-bsc
v0.0.6-beta
Description
⭐ Validator-Enabling
This release introduces full functionality for BSC Validator Node support and includes optimizations for block production on BSC using the native Reth frame, improving block production stability.
- BSC Validator Node Support: Full functionality for running as a BSC validator node.
- Block Production Optimizations: Optimizations for BSC block production in native Reth, improving stability and reliability.
- Enhanced Monitoring: Expanded monitoring and observability.
- Fermi Hard Fork: Active support for the Fermi hard fork.
- TrieDB State Storage: Support for TrieDB as state data storage backend.
What's Changed
- feat(bsc/protocol): implement BEP-564 by @MatusKysel #145
- perf: add pre state cache for speedup by @will-2012 #168
- refactor: using ctx to share consensus data by @galaio 665f017
- refactor: submit built payload to engine tree directly by @galaio 6bdb893
- fix: trace_* api in systemTx corner case by @zlacfzy #179
- chore: fix calc blob fee check condition by @will-2012 #182
- chore: add miner gas limit config by @will-2012 #183
- fix: resolved some issues as an experimental validator by @will-2012 in #188
- feat: support triedb as state date store backend by @joey0612 in #198
- ci: use cross crate to compile reth-bsc in musl by @sysvm in #215
Full Changelog: v0.05-beta...v0.0.6-beta
v0.0.6-triedb-alpha
Description
v0.0.6-triedb-alpha supports reth-bsc-triedb as an alternative state storage backend for Reth, in addition to the default MDBX backend.
The integration allows users to choose between MDBX (default) and TrieDB backends via the --statedb.triedb CLI flag. When enabled, reth-bsc-triedb uses RocksDB as the underlying storage engine, which can significantly improve performance under high-traffic scenarios.
The detail see: reth: support triedb as the state storage backend
⚠️ Note
- Currently, reth-bsc-triedb only releases fullnode snapshot; the archive snapshot is coming soon.
- This version uses the newly released triedb snapshot format, which is not compatible with previous snapshot versions.
- Using the
--statedb.triedbflag with old snapshot data will cause irreversible data corruption. - TrieDB snapshot size is approximately ~300GB larger than the previous format; ensure adequate disk space is available.
- When TrieDB is active, the following RPC methods are not supported:
RPC Method Description eth_getProofMerkle proof generation eth_getAccountAccount state retrieval with storage root debug_state_root_with_updatesState root calculation with trie updates debug_execution_witness/debug_execution_witness_by_block_hashExecution witness generation validation_validateBuilderSubmissionV1 - V5Builder submission validation
What's Changed
- feat: add metrics by @constwz in #167
- perf: add pre state cache for speedup by @will-2012 in #168
- fix: to avoid hard forks built-in system contact being overwritten by @will-2012 in #173
- refactor: using ctx to share consensus data; by @galaio in #169
- refactor: submit built payload to engine tree directly; by @galaio in #174
- fix: fix bench mine workflow issues by @will-2012 in #178
- chore: upgrade reth dep by @constwz in #180
- feat(bsc/protocol): implement BEP-564 by @MatusKysel in #145
- fix debug_trace* by @zlacfzy in #179
- chore: fix calc blob fee check condition by @will-2012 in #182
- chore: update readme by @MatusKysel in #184
- chore: add miner gas limit config by @will-2012 in #183
- chore: update fermi HF time by @constwz in #196
- feat: support triedb as state date store backend by @joey0612 in #198
- feat: update mainnet archive snapshot by @zlacfzy in #195
Full Changelog: v0.0.5-beta...v0.0.6-triedb-alpha
v0.0.5-beta
Description
v0.0.5-beta is a hotfix release addressing critical issues in v0.0.4 (Deprecated).
v0.0.4(Deprecated) contained a critical bug that caused database integrity corruption, preventing nodes from continuing to sync blocks and, in some cases, resulting in an infinite unwind loop. This issue rendered nodes unable to maintain normal block synchronization.
The issue has been resolved in: #165
What's Changed
- fix: remove misuse merge_transitions by @will-2012 in #165
- parlia: fix an intermittent attentionation issue; by @galaio in #166
Full Changelog: v0.0.4...v0.0.5-beta
v0.0.4(Deprecated)
Warning
pls do not upgrade to v0.0.4!!!
Some feedback from community, v0.0.4 may have some issue, remove the binary temporarily, will update once the issue is confirmed.
Recommends use the latest stable version instead.
- Mainnet: v0.0.4-archivenode-alpha
- Testnet: v0.0.5-fermi-alpha.
Overview
This release with full BSC Parlia consensus support. For the Full node, it implements Fast Finality-based reorg rules, enabling stable block syncing without interruptions caused by reorg rule mismatches. For the Archive node, it adds support for common Archive APIs, including trace, debug_traceCall, etc. For the Validator node, it implements all user-facing features such as blob, bid, justify block etc. However, as some optimization-focused BEPs are not yet included(e.g., BEP-564), the Validator node remains experimental.
Validator Node(experimental)
- Implements BSC Parlia consensus, addresses multiple stability issues and is currently running stably in test environments..
- Support: BEP-126, BEP-336, BEP-520, BEP226, BEP-229, BEP231, BEP-441, staking, slash, governance, etc.
- Supports the latest Fermi Hard Fork, which is now active on Testnet.
Full Node
Implements Fast Finality-based reorg rules, enabling stable block syncing without interruptions caused by reorg rule mismatches.
Archive Node
- Support for common Archive APIs
- Implements the db migrate command to migrate MDBX databases with customizable size.
usage:reth-bsc db --datadir ./data migrate --to ./data_backup --page-size 8KB --max-size 12TB - Fix issue: revm error when trace block around Cancun HF
Others
- Add
--engine.min_blocks_for_pipeline_runflag, controls the threshold for switching from live sync to stage sync.
What's Changed
FEATURE
- feat: fermi hard fork by @constwz in #96
- feat: Create Dockerfile by @jamesstanleystewart in #110
- feat: add miner mode by @jhgdike in #36
- feat: calculate blob fee by @constwz in #141
- feat: fix trace system tx by @zlacfzy in #143
- config: update BSC Testnet hardfork time by @constwz in #154
BUGFIX
- fix ci error by @fynnss in #67
- fix: fermi hf time by @constwz in #115
- fix: support BSC system transaction detection in debug trace APIs by @zlacfzy in #117
- fix: qanet fermi HF timestamp by @will-2012 in #137
- fix: get_node_ids panic by @will-2012 in #139
- p2p: fix bsc handshake decode issue; by @galaio in #146
- fix: validator and vote-addr mapping by @will-2012 in #144
- fix: wrong timestamp by @will-2012 in #147
- fix: trace_replay by @zlacfzy in #157
- parlia: fix some found QA env issues; by @galaio in #150
DOC
New Contributors
- @joey0612 made their first contribution in #59
- @zlacfzy made their first contribution in #105
- @jamesstanleystewart made their first contribution in #110
Full Changelog: v0.0.3...v0.0.4
v0.0.4-archivenode-alpha
Description
v0.0.4-archivenode-alpha is a release with support for Archive mode. This is the archive node api list.
💡Recommended: set --engine.memory-block-buffer-target=128 to prevent panic during reorg
run a archive node(default mode).
RUST_LOG=info reth-bsc node \
--chain=bsc \
--db.max-size=8TB \
--datadir=/path/to/your/reth-data-dir \
--trusted-peers=enode://551c8009f1d5bbfb1d64983eeb4591e51ad488565b96cdde7e40a207cfd6c8efa5b5a7fa88ed4e71229c988979e4c720891287ddd7d00ba114408a3ceb972ccb@34.245.203.3:30311,enode://c637c90d6b9d1d0038788b163a749a7a86fed2e7d0d13e5dc920ab144bb432ed1e3e00b54c1a93cecba479037601ba9a5937a88fe0be949c651043473c0d1e5b@34.244.120.206:30311,enode://bac6a548c7884270d53c3694c93ea43fa87ac1c7219f9f25c9d57f6a2fec9d75441bc4bad1e81d78c049a1c4daf3b1404e2bbb5cd9bf60c0f3a723bbaea110bc@3.255.117.110:30311,enode://94e56c84a5a32e2ef744af500d0ddd769c317d3c3dd42d50f5ea95f5f3718a5f81bc5ce32a7a3ea127bc0f10d3f88f4526a67f5b06c1d85f9cdfc6eb46b2b375@3.255.231.219:30311,enode://5d54b9a5af87c3963cc619fe4ddd2ed7687e98363bfd1854f243b71a2225d33b9c9290e047d738e0c7795b4bc78073f0eb4d9f80f572764e970e23d02b3c2b1f@34.245.16.210:30311,enode://41d57b0f00d83016e1bb4eccff0f3034aa49345301b7be96c6bb23a0a852b9b87b9ed11827c188ad409019fb0e578917d722f318665f198340b8a15ae8beff36@34.245.72.231:30311,enode://1bb269476f62e99d17da561b1a6b0d0269b10afee029e1e9fdee9ac6a0e342ae562dfa8578d783109b80c0f100a19e03b057f37b2aff22d8a0aceb62020018fe@54.78.102.178:30311,enode://3c13113538f3ca7d898d99f9656e0939451558758fd9c9475cff29f020187a56e8140bd24bd57164b07c3d325fc53e1ef622f793851d2648ed93d9d5a7ce975c@34.254.238.155:30311,enode://d19fd92e4f061d82a92e32d377c568494edcc36883a02e9d527b69695b6ae9e857f1ace10399c2aee4f71f5885ca3fe6342af78c71ad43ec1ca890deb6aaf465@34.247.29.116:30311,enode://c014bbf48209cdf8ca6d3bf3ff5cf2fade45104283dcfc079df6c64e0f4b65e4afe28040fa1731a0732bd9cbb90786cf78f0174b5de7bd5b303088e80d8e6a83@54.74.101.143:30311 \
--authrpc.addr "0.0.0.0" \
--authrpc.port 8551 \
--engine.parallel-sparse-trie \
--http \
--http.addr "0.0.0.0" \
--http.port 8545 \
--ws \
--ws.addr "0.0.0.0" \
--metrics 0.0.0.0:6060 \
--engine.memory-block-buffer-target=128 \
--http.api "admin, debug, eth, net, trace, txpool, web3, rpc, reth, ots"
Full Changelog: v0.0.3...v0.0.4-archivenode-alpha
v0.0.3
Description
v0.0.3 is a release with full support for both FullNode and ArchiveNode modes.
This version also brings noticeable performance improvements in execution and state access.
Some RPC responses differ slightly from upstream geth. These inconsistencies will be addressed in the next release.
for release build
cargo build --bin reth-bsc --features jemalloc,asm-keccak --profile release
for maxperf build
cargo build --bin reth-bsc --features jemalloc,asm-keccak --profile maxperf
run a fullnode
RUST_LOG=info ./target/debug/reth-bsc node --full \
--chain=bsc \
--db.max-size=8TB \
--datadir=./data_dir \
--trusted-peers=enode://551c8009f1d5bbfb1d64983eeb4591e51ad488565b96cdde7e40a207cfd6c8efa5b5a7fa88ed4e71229c988979e4c720891287ddd7d00ba114408a3ceb972ccb@34.245.203.3:30311,enode://c637c90d6b9d1d0038788b163a749a7a86fed2e7d0d13e5dc920ab144bb432ed1e3e00b54c1a93cecba479037601ba9a5937a88fe0be949c651043473c0d1e5b@34.244.120.206:30311,enode://bac6a548c7884270d53c3694c93ea43fa87ac1c7219f9f25c9d57f6a2fec9d75441bc4bad1e81d78c049a1c4daf3b1404e2bbb5cd9bf60c0f3a723bbaea110bc@3.255.117.110:30311,enode://94e56c84a5a32e2ef744af500d0ddd769c317d3c3dd42d50f5ea95f5f3718a5f81bc5ce32a7a3ea127bc0f10d3f88f4526a67f5b06c1d85f9cdfc6eb46b2b375@3.255.231.219:30311,enode://5d54b9a5af87c3963cc619fe4ddd2ed7687e98363bfd1854f243b71a2225d33b9c9290e047d738e0c7795b4bc78073f0eb4d9f80f572764e970e23d02b3c2b1f@34.245.16.210:30311,enode://41d57b0f00d83016e1bb4eccff0f3034aa49345301b7be96c6bb23a0a852b9b87b9ed11827c188ad409019fb0e578917d722f318665f198340b8a15ae8beff36@34.245.72.231:30311,enode://1bb269476f62e99d17da561b1a6b0d0269b10afee029e1e9fdee9ac6a0e342ae562dfa8578d783109b80c0f100a19e03b057f37b2aff22d8a0aceb62020018fe@54.78.102.178:30311,enode://3c13113538f3ca7d898d99f9656e0939451558758fd9c9475cff29f020187a56e8140bd24bd57164b07c3d325fc53e1ef622f793851d2648ed93d9d5a7ce975c@34.254.238.155:30311,enode://d19fd92e4f061d82a92e32d377c568494edcc36883a02e9d527b69695b6ae9e857f1ace10399c2aee4f71f5885ca3fe6342af78c71ad43ec1ca890deb6aaf465@34.247.29.116:30311,enode://c014bbf48209cdf8ca6d3bf3ff5cf2fade45104283dcfc079df6c64e0f4b65e4afe28040fa1731a0732bd9cbb90786cf78f0174b5de7bd5b303088e80d8e6a83@54.74.101.143:30311 \
--authrpc.addr "0.0.0.0" \
--authrpc.port 8551 \
--engine.parallel-sparse-trie \
--http \
--http.addr "0.0.0.0" \
--http.port 8545 \
--metrics 0.0.0.0:6060 \
--http.api "admin, debug, eth, net, trace, txpool, web3, rpc, reth, ots" \
Changelog
- introduce parlia consensus for reth-bsc fullnode
- enable parallel sparse trie with “--engine.parallel-sparse-trie” to impove performance
v0.0.2-fullnode-alpha
What's Changed
- Add musl build target and testnet snapshot by @sunny2022da in #43
snapshots
Refer to SNAPSHOT.md for download information
Full Changelog: v0.0.2-alpha...v0.0.2-fullnode-alpha
v0.0.2-alpha
What's Changed
- feat: add parlia consensus by @will-2012 in #8
- feat: add qanet config by @will-2012 in #25
- release: prepare release v0.0.2-alpha for fullnode and archivenode by @sunny2022da in #42
snapshots
Refer to SNAPSHOT.md for download information
Full Changelog: v0.0.1-alpha-ParliaOff...v0.0.2-alpha
v0.0.1-alpha-ParliaOff
Alpha release without Parlia
Full Changelog: https://github.com/bnb-chain/reth-bsc/commits/v0.0.1-alpha-ParliaOff