Skip to content

Releases: bnb-chain/bsc

v1.6.3

06 Nov 09:30
90d4e8e

Choose a tag to compare

Description

v1.6.3 is a maintenance release, which fixes 2 RPC issues and with several enhancements, pls refer change log for detail.

ChangeLog

FEATURE

NA

BUGFIX

#3429 build(deps): bump github.com/consensys/gnark-crypto
#3433 internal/ethapi: fix eth_simulateV1
#3431 eth/tracers: fix crasher in TraceCall with BlockOverrides

IMPROVEMENT

#3436 revert: revert the nano check in parlia
#3435 eth: fix stuck when handleBlockBroadcast

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux 25abae5a3ca0804fb153a2eeaac30fb9dd4713dd5310e4d4f3b023fa2d41fc3a
geth_mac 12a82a56cc4dfb67ba0bbb78af7e3e4a6248f71b5bc3d4b7bb655e04d22723df
geth_windows 3fe0727c6ec217cebbfcb77cbe075454f1251cc62424d26589ff1e0a4ff6f4d7
geth_linux_arm64 df6cbc552a6432ecf3733ba6c38c1d0e7d0856f552ad020be86c9309c217bc17

v1.6.2

31 Oct 06:31
d7e572d

Choose a tag to compare

Description

v1.6.2 is for BSC testnet Fermi hardfork: Fermi. Fermi hard fork is a critical upgrade to further reduce block interval from 750ms to 450ms, so users will have even better experience. Here is the list of Fermi BEPs:

Here is the timeline of BSC Fermi hard fork

  • Testnet: 2025-11-10 02:25:00 AM UTC
  • Mainnet: TBD

Besides the BEPs, v1.6.2 also include several improvements for miner, MEV and performance, and also includes two new features. Here is the description of the two new features:

  • new websocket RPC filter API for transaction receipts. (#3363)
  • new configuration "ProxyedNodeIds" to improve block propagation efficiency.(#3417)

Compatibility

  • flag --light.** was removed, include: --light.egress, --light.ingress, --light.maxpeers, --light.nopruning, --light.nosyncserve, --light.serve

ChangeLog

FEATURE

#3363 websocket: add transactionReceipts for receipts notification
#3367 BEP-619: Short Block Interval Phase Three: 0.45 Seconds
#3368 BEP-590: Extended Voting Rules for Fast Finality Stability
#3374 Implement BEP-592: Non-Consensus Based Block-Level Access List
#3372 core/systemcontracts: define fermiUpgrade
#3390 feat: implement incremental snapshot
#3395 feat: EVM execution opcode level optimization
#3400 consensus/parlia: set kAncestorGenerationDepth to 3 in BEP-590
#3397 consensus/parlia: fix updateAttestation&improve assembleVoteAttestation
#3417 p2p: define ProxyedNodeIds in Config

BUGFIX

#3373 ethapi: reject oversize storage keys before hex decode

IMPROVEMENT

#3388 miner/minerconfig: update config to adapt 100M gaslimit
#3404 miner: validator not inturn backoff before mining
#3407 fix: change lock to read lock in legacy pool
#3415 eth: broadcast votes to evn peers regardless of deltaTdThreshold
#3416 cmd/geth: improve config for sentry nodes when init network
#3419 miner: use latest block as pending block for simplicity
#3426 eth: increase the delta td threshold to broadcast votes

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux 4434ccec0cb7db38766fa240e595e9add00642b36b8bee16fe71e62e8066d209
geth_mac 938d85e262f1642b662874f3f195f2418f96dc43f5095890c01304846e8997b1
geth_windows a935ebdf79a3c51d54c16f43f89477a0b933fbac219be541cfeefc0ff178c0c8
geth_linux_arm64 f4efcdca6d988db53ecd8aab33fe70fc7786aefc80537ba2da4dfa6e767fd275

v1.6.1-beta-feature-ScalableDB

30 Sep 11:44

Choose a tag to compare

Pre-release

Description

This is an experimental feature release based on v1.6.1-beta, with binary version: v1.6.101.

v1.6.1-beta-feature-ScalableDB introduces a multi-database architecture (scalaledb) that divides chaindata into four separate stores which includes BlockDataBase(with meta), TrieDataBase, SnapDataBase and IndexDataBase according to data schema . Scalaledb provides stronger storage scalability. Different DBs can be allocated customized resources and tuned configurations. In particular, databases can compact independently, avoiding interference and improving read performance under heavy I/O.

Run
Run geth from genesis with "multidatabse" flag:
./geth --config config.toml --datadir data-seed init --multidatabase genesis.json

If you run geth from snapshot, you need to use migrate tool to convert an existing snapshot to the scalaledb layout with
./geth -datadir <your-data-dir> db migrate . You can directly start after migration , no additional flags are required if your snapshot has already been migrated.

Performance Test Results:
In large-scale simulated benchmarks, Multi-DB improves Geth block sync performance by ~3.8%. Starting from the same block height, after seven days of syncing, the Multi-DB node was ahead by ~200,000 blocks.

Change Log

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux 38199d57b22f5c87dcd974e9083f3457ff65ff2deb41625ce4fb14f86946effb
geth_mac 3f74cec7974d611266f69a71728f5e3e8727c8566237536cc154ef0a5fb1a363
geth_windows 9b5ee986e87eb9632fdbecb81fe968a3eb276c884e1c8b76d1b379ca1d94df81
geth_linux_arm64 0830d90c31678f6f4b351259c6bd76ea4c580fe8bacbda4988150bc92c9e1e3e

v1.6.1-beta-feature-BAL

25 Sep 05:31
f4467d1

Choose a tag to compare

Pre-release

Description

This is an experimental feature release based on v1.6.1-beta, with binary version: v1.6.100. The suffix "-BAL" stands for "Block Access List.".

v1.6.1-beta-feature-BAL implements BEP-592: Non-Consensus Based Block-Level Access List to enhance block execution performance. This implementation introduces a Block Access List (BAL) feature that tracks account and storage access during transaction execution, enabling efficient prefetching of state data.

Try BAL:
As an experimental feature, BAL is disabled by default. It can be enabled by running with the flag --enablebal, or by updating the config.toml file as follows:

...
[Node]
EnableBAL = true
...

Since validators produce the BAL, they need to be upgraded first. The connected full nodes can then retrieve the BAL data to accelerate their synchronization performance.

Performance Test Results:

  • Block import performance increased by approximately 15%, with potential improvements of nearly 20% for I/O-heavy blocks.
  • CPU usage reduced by ~30%, as Tx prefetch would be replaced BAL.
  • The size of the BAL is about 40% of the block size. For a block with a 75M GasLimit, the block could be around 270KB, while the BAL would be approximately 110KB.

Change Log

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux fd6a07786f0b85da3c74a2b9c30c6e34dc74dc54eaf8e1911eb1d66ad19e6d65
geth_mac e8215847b2895447c21422e2acc6bc4b4d65ba009c16cef92a5832b6afda04bb
geth_windows 7a5ec73a044675478668496ad64b087b112827cfe6aa13c1d459249e4c2a0335
geth_linux_arm64 a8d2687ba9cc9858ebad9f81f3112d535172a272e1ab7d1b4f82c35ebf27e7ea

v1.6.1-beta

23 Sep 07:50
91e0d26

Choose a tag to compare

v1.6.1-beta Pre-release
Pre-release

Description

v1.6.1-beta is a maintenance preview release, which fixes several issues of the v1.6.0-alpha, it is more reliable, so mark it as beta stage.

This release has no new feature, no breaking changes, only some bugfix and improvements, pls refer change log for detail.

ChangeLog

FEATURE

NA

BUGFIX

#3336 miner: avoid to commit a bid twice
#3347 fix: discovery AyncFilter deadlock on shutdown
#3340 core: rework fast node

IMPROVEMENT

#3337 eth/pebble: use NoSync as write mode
#3332 FilterMap: update bsc checkpoint file
#3324 eth/downloader: remove InsertHeaderChain to improve sync speed
#3319 core/rawdb: remove func AncientOffSet and ItemAmountInAncient
#3346 cmd/geth: remove subcmd hbss2pbss and insecure-prune-all
#3354 freezer: add debug log for out of bounds access
#3340 core: rework fast node
#3348 core/rawdb: align more code with upstream
#3361 cmd/utils: set journalfile default to true

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux 0df5780112028f18c50b9fc8d623b03d26d207ca86e3485f504b1367872a0a72
geth_mac 2630b7cd851de157bc1432ff99d6fb8786d49e6ea056110ee61cc5d4c64877c4
geth_windows e53fff9f2d60a66a58ff159c172e014757f7fdea8328f7f76d5e8d553755e823
geth_linux_arm64 7b6147f76c53bf3ddd28c9b12ea6b88df183d7ab7d2c056935af0a406d417fb6

v1.6.0-alpha-feature-incr-snapshot

01 Sep 03:21
94a6d7a

Choose a tag to compare

Pre-release

Description

This is an experimental feature release based on v1.6.0-alpha, the "-incr-snapshot" suffix stands for "incremental snapshot".
v1.6.0-alpha-feature-incr-snapshot implements BEP-593: Incremental Snapshot

Incremental Snapshot mechanism makes it easier for users to start and run BSC nodes with reduced data requirements. By implementing this feature, users will be able to bootstrap their nodes more efficiently while maintaining the necessary functionality for participating in the BSC network.

  • For enabling incremental snapshot generation:
geth --config config.toml --datadir ./data/ --cache 8000 --rpc.allow-unprotected-txs --history.transactions 0 --syncmode full --db.engine=pebble --state.scheme=path --incr.enable --incr.block-interval=806400 --incr.datadir ./incr/ --incr.state-buffer=1073741824 --incr.kept-blocks=1024 --mainnet --history.blocks=360000
  • For downloading and merging incremental snapshot:
geth --config config.toml --datadir ./data/ --cache 8000 --rpc.allow-unprotected-txs --history.transactions 0 --syncmode full --db.engine=pebble --state.scheme=path --incr.use-remote --incr.remote-url https://download.snapshots.bnbchain.world/mainnet-geth-pbss-incr --incr.datadir ./store-incr/ --mainnet --history.blocks=360000

Changelog

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux f49c6f5740c22dd86ab383acc2797e310915c8e389a78d14a9b6945e880d904a
geth_mac 03330426f8248caee08be5aa1b9d35b0051162743c7bb12e44a08fd942f40b55
geth_windows 38c15e0e8e979fa1ceb6fb8c1504ee79281dd3bde08860808deea65865228eef
geth_linux_arm64 03d0624499e95a2107433a40f82763c5cab9abb94f52ba2a0802ed881c485770

v1.6.0-alpha

29 Aug 01:02
fca6a6b

Choose a tag to compare

v1.6.0-alpha Pre-release
Pre-release

Description

v1.6.0-alpha is a preview release for upstream code sync, it catches up with go-ethereum release [v1.16.1] and also includes several bug fix.

Notice:
a.upgrade to v1.6.0-alpha from v1.5.x would trigger snapshot regeneration, which would downgrade your node's performance until the regeneration process complete. The regeneration cost ~5 hours on our node with 8 core AMD EPYC 7R13, 32GB, SSD, but it could be different in your node.

b.for FastNode(--tries-verify-mode none), pls don't upgrade to v1.6.0-alpha, there is a data compatible issue.

Changelog

Code Sync

Key changes from the code sync include:

  • Archive Mode: Added history indexing and RPC querying interface
  • Enhanced Log Filtering: Introduced Filtermap as a faster replacement for bloombit-based log queries
  • Log Timestamps: Added timestamp metadata to derived event logs
  • Performance Optimizations: Multiple improvements to enhance overall performance
  • Code Refactoring: Major cleanup and improvements to components including:
    • PBSS snapshot system
    • Blockchain configuration
    • EVM internals
    • Removal of EOF (Ethereum Object Format) code

BUGFIX

Others

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux 2c2f8f4e2c9fc9c6e5ee74380c95fda0d017cc782db4d39519385701fb231753
geth_mac 8846b35a013d9b6f9aac39e569bf30ba754a819665a2461bbd467e021ff48092
geth_windows a7a2ad5d6900957beec8ea44952d3cd854f1f742ecb869d085212365c3b586f5
geth_linux_arm64 cb7074cd783e85732490133d591fe26e33071c65a4643057b74b71ec0c6eb44e

v1.5.19-feature-SI

26 Aug 07:25
46ae0ef

Choose a tag to compare

v1.5.19-feature-SI Pre-release
Pre-release

Description

The "-SI" suffix stands for Super-Instruction and this is an experimental feature release based on v1.5.19.
It implemented BEP-610:Smart-Contract Bytecode Optimization & Super-Instruction Execution

BEP-610 introduces Super-Instruction, which are some custom single-byte opcodes that replace the high-frequency EVM opcode sequences. The contract bytecode is preprocessed off-chain to embed these opcodes, and the on-chain interpreter executes them atomically. The approach yields significant execution layer efficiency without changing the consensus rules or requiring hard forking.

To try this feature, pls enable Eth.EnableOpcodeOptimizing in config.toml:

[Eth]
EnableOpcodeOptimizing = true
...

Changelog

feat: SuperInstruction implementation in EVM

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux e13c8879c5ed7243e080fca6bf4afb7e703f5813970ee636b44f84dec8eeddb0
geth_mac 6c5e77e24cb0aec0b27403f51e2b7b1d1bf6b63efc0f7ffa489174e20b44bce2
geth_windows f4b3c28b19445398b65db1a57e8da146f70c001a0b28c15034328bc1573b7736
geth_linux_arm64 4a851a5d9f97309fe702fff337489a0c71cb6b116082c16922abe284d6904553

v1.5.19

30 Jul 03:08
e7b198c

Choose a tag to compare

Description

v1.5.19 is a hot fix release for v1.5.18(deprecated), which has a critical issue for nodes that are running with flag: --pruneancient.
The issue of v1.5.18 is about performance, as nodes could be stuck for ~1 min during block import due to an exclusive write lock of ancientDB.
The issue has been mitigated by: #3251

note: changes of v1.5.18 are also included in v1.5.19, pls refer v1.5.18 for its change list.

Changelog

BUGFIX

#3251 freezer: change freeze batch size

IMPROVEMENT

#3243 build(deps): bump golang.org/x/oauth2 from 0.24.0 to 0.27.0
#3235 refactor: use maps.Copy for cleaner map handling

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux e2bceecc6b0f8ab9f9933c3d66c4686c8d0ad0b277385e41720bbd676ae45867
geth_mac 059eaf8554ed690ee5ed77c9e5889d2d3329ea874d2e07b26e4928217c38e7da
geth_windows b887bdf4d08f469281707f9bde5c85505cdc688e14cae7ab19ede09ce86b4e66
geth_linux_arm64 e677e550b6c384f6ea7940f2a365add46cc6dd9e4203b928983960880f228f61

v1.5.18(Deprecated)

23 Jul 06:56
651069f

Choose a tag to compare

v1.5.18(Deprecated) Pre-release
Pre-release

Warning

pls do not upgrade to v1.5.18!!!
Some feedback from community, v1.5.18 may have some issue, remove the binary temporarily, will update once the issue is confirmed.

Description

v1.5.18 is a conventional maintenance release, which mainly includes some MEV updates, performance gain(could be ~10% improvements, even ~15% with --cache.enablesharedpool) and some non-critical bug fixes.

Summarize some of the key changes:

Changelog

FEATURE

#3158 feat: blind bid serves the validator's best interest
#3197 feat: enable shared storage pool
#3212 p2p: treat all EVN peer as trust node;
#3143 miner: change default mev config

BUGFIX

#3209 params: only enable sharedStorage on special blocks
#3201 miner: fix metric simulateSpeedGauge
#3204 miner: only recommit bids when no error happens
#3187 chore: fix duplicated counter

IMPROVEMENT

#3178 CI: all use go1.24 to build
#3210 consensus/parlia: warn fast node to update to latest hard fork version
#3175 all: use typed lru
#3177 deps: update prysm version to v5.3.2
#3193 core: warm key TransactionIndexTail by writing
#3146 hash: remove caching that was decreasing perf
#3205 ethdb: tuning pebble compaction parameter
#3225 state: extra check for nano address
#2809 refactor: remove outdated prune-block/pruneancient tool, implement it by tail-deletion
#3208 ethdb : disable blockstore of multidatabase
#3199 all: clear up Verify Node logic

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux 99d04a7d2faabbcfa11182b195bd268e065c6b6d31f2d71db353e9f81b5ca7a6
geth_mac 872135e372da52d082f218af49692676bf27f340c8f7155ac2230d562304abfc
geth_windows ed351e0ff272d99328929ea15118d08fc12d254d89dfbab45ca502beddac9977
geth_linux_arm64 6604ce0a66cb34e0122805ace4f04095338173c42a2cce5a3a1d66173aaf670b