Releases: bnb-chain/bsc
v1.4.1-alpha
Description
Release v1.4.1-alpha is a maintenance release, which only applies 2 fixes based on v1.4.0-alpha.
Changelog
FEATURE
NA
BUGFIX
- #2258 core: skip checking state root existence when do snapsync by fast node
- #2252 fix: add missing args of
bls account generate-proof
cmd (#2252)
IMPROVEMENT
NA
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 99c45b0c06dd9b70164319ee1ddd144966b6e78ce945cf160e2a428005710827 |
geth_mac | 7ea45077b0765a1df4b895d90942ce589fc2cabe8080697e1b12701fe26a9384 |
geth_windows | 16ed5ca922941523794424083ca398884948df603288d1b40a34b1abb96ae6c8 |
geth_linux_arm64 | 11becc00e3a4429db353a290a3fe6a95792880da7a4ae51c608d8af8a073b0ef |
v1.4.0-alpha
Description
Do not use this version on critical business!!!
v1.4.0-alpha is a big maintenance release. It mainly did another round of big code sync with upstream go-thereum[v1.13.0, v1.13.11] to import new features, bug fix, code clear up from go-ethereum, especially to support several Cancun EIPs on BSC.
Since there are huge code changes on this release, there could have some unknown risks or bugs there. It is not encouraged to run this version in your crucial business, but it would be appreciated if you can help try it in some non-crucial business environment and report bugs that you find.
Change Log
There is a very long change list, including modules like: RPC, Flag, GraphQL, Client, Tracer, Txpool, Sync, P2P, PBSS, Cancun...
For detail pls refer: #2200
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 8539d41e7d9db2bc1541608a4b746cb3f59adfe8612ee1028665bd00a25e92aa |
geth_mac | 39d8df6bf086d5e9fc209604481fbfcd727faef012b4cfa6da4e18f0b37c0a21 |
geth_windows | b7afe572395e8d75522a584cd2d04478593dd66eb37adb895ca0a97dd98d3a59 |
geth_linux_arm64 | 75ea2928428104018189d2c0acaa14d263de79340335dfe036da63f002e733d8 |
v1.3.10
Notice
BSC will switch to PBSS and gradually stop support for hash based mode, if your nodes are still running with hash based mode, pls follow this doc to upgrade to PBSS: https://forum.bnbchain.org/t/faq-pbss-pebbledb/2260/6
Description
This release is going to enable the Feynman upgrade on BSC testnet. The upgrade is forecasted to occur on 11th March 2024 at 6:00 (UTC). The full node runners on testnet must switch their software version to the latest version by 11th March.
Feyman upgrade is the most important milestone of BNB Chain Fusion. The BNB Chain Fusion is a strategic shift to migrate the Beacon Chain’s functionalities to BNB Smart Chain (BSC) and retire Beacon Chain. This move aims to streamline the network, improve efficiency, reduce security risks, and align BNB Chain's architecture with the current technological demands and future growth. BEP333 propose to securely and smoothly transit the BNB Beacon Chain and BNB Smart Chain (BSC) from a dual-chain structure into a single chain structure and thus decommission the Beacon Chain.
Due to Feyman's upgrade, it will have a significant impact on the BNB ecosystem. We welcome the community to submit issues on GitHub or Discord. Kindly remind that BNB Chain has a bug bounty program if anyone find any security issues.
For BNB Beacon Chain Asset Holders
After BC Fusion, users will find it either impossible or extremely challenging to access assets on the BNB Beacon Chain. Here is a detailed guide designed to assist digital asset issuers and holders on the BNB Beacon Chain in transferring the value of their assets, like BEP2/BEP8 tokens, both before and after the Beacon Chain Fusion.
Here is an outline of all important milestones in the BNB Chain Fusion roadmap, set to facilitate a smooth transition for the BNB Chain community.
Brief Introduction of Feynman Upgrade
BEP-294, BEP-297 and BEP-299 will be deployed in the BSC Feynman hard fork.
-
BEP-294 will take effect immediately. Validators created on BSC will receive triple voting power when staking an equal amount of BNB. This encourages the transfer of voting power from the Beacon Chain to BSC.
-
The BEP-297 governance functionality will not be activated immediately after the hardfork. It will only be automatically enabled once more than 10 million BNB are migrated to BSC.
-
The smart contract of BEP-299 is not available as the merkel root in the smart contract is still empty at this time. Only after the Beacon Chain comes to a complete halt, the Token Migration feature will be initiated by setting the Merkle root for balance dump through governance.
-
Cross-chain re-delegation, which allows users to un-delegate their stakes from Beacon Chain and then delegate them on BSC in one Beacon Chain transaction, will be enabled after governance opening the related cross-chain channel.
Changelog
FEATURE
- #2047 feat: add new fork block and precompile contract for BEP294 and BEP299
- #2242 eth/gasprice: fix percentile validation in eth_feeHistory
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | ad893fa61ee41dba05bb20447318ae1521944efba7402d3204a4712aac1e8ca4 |
geth_mac | 73ab0acd0a75f899e649223daa3899555f83f2dde1d951986da272b61b2a59bf |
geth_windows | 4e162178f84b5a103e29ba1c21ce1e7e3bb7fb735f3a4225158d3244efa2bcc2 |
geth_linux_arm64 | 519ce8f6f5e4a31eac4ea71e102f04421407a918f5a103f4337d2e261e3953e7 |
v1.3.9
Description
Release v1.3.9 is a moderate maintenance release with some enhancements and one feature of how to keep the log, check out the change list bellow.
Changelog
FEATURE
- #2186 log: support maxBackups in config.toml
BUGFIX
- #2160 cmd: fix dump cli cannot work in path mode
- #2183 p2p: resolved deadlock on p2p server shutdown
- #2213 core/rawdb: fsync the index file after each freezer write (#28483)
IMPROVEMENT
- #2177 build(deps): bump github.com/quic-go/quic-go from 0.39.3 to 0.39.4
- #2185 consensus/parlia: set nonce before evm run
- #2190 fix(legacypool): deprecate already known error
- #2195 eth/fetcher: downgrade state tx log
- #2220 cmd: optimize parse state scheme in cli and config
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 723cac15f18431936d9e67c8294a749b8336b84b27384bd9361c3569439045b0 |
geth_mac | 9547b727190620e99cd21d4209b48f4f7d6054b379cfc9130318c6fd16710cda |
geth_windows | adf0232f1df0434fb85162f848b9a1ed0d253c38900b8ff96347727ce4823580 |
geth_linux_arm64 | be13ab1215c847eaf7287359808f681a9fd5b82d2593515087e89a52e8757598 |
v1.3.8
Description
v1.3.8 is a maintenance release with several enhancements, here is the summary of these updates that may affect BSC users:
- Golang v1.21 will be needed to compile
- a new tool to inspect the trie storage
- some improvements on P2P module
- some fix ups of RPC, PBSS, PebbleDB, consensus
- improve UX, sync with BSC mainnet by default, no need to init genesis block any more
- LES protocol has been removed, since light node can not work right now.
- increase the SystemTxsGas reservation from 1,500,000 to 5,000,000
Changelog
FEATURE
- #2074 faucet: new faucet client
- #2082 cmd/dbcmd: add inspect trie tool
- #2140 eth/fetcher: allow underpriced transactions in after timeout
- #2115 p2p: no peer reconnect if explicitly disconnected
- #2128 go.mod: upgrade prysm to support built with go@v1.21
- #2151 feat: enable NoDial should still dial static nodes
- #2144 p2p: reset disconnect set with magic enode ID
BUGFIX
- #2095 rpc: fix ns/µs mismatch in metrics
- #2083 triedb/pathdb: fix async node buffer diskroot mismatches when journaling
- #2120 ethdb/pebble: cap memory table size as maxMemTableSize-1
- #2107 cmd/geth: fix parse state scheme
- #2121 parlia: fix verifyVoteAttestation when verify a batch of headers
- #2132 core: fix systemcontracts.GenesisHash when run bsc firstly without init
- #2155 cmd, core: resolve scheme from a read-write database and refactor resolveChainFreezerDir func
IMPROVEMENT
- #2099 params/config: remove useless toml tag for hardforks
- #2100 core/genesis: support chapel to run without geth init
- #2101 core: add metrics for bad block
- #2109 cmd/geth: tidy flags for geth command
- #1953 build(deps): bump github.com/docker/docker
- #2086 build(deps): bump golang.org/x/crypto from 0.12.0 to 0.17.0
- #2106 params: use rialto to test builtin network logic
- #2098 cmd, les, tests: remove light client code
- #2114 p2p: add serve metrics
- #2123 p2p, eth: improve logs
- #2116 tests: revive evm test cases
- #2161 code: remove IsEuler check from worker.go
- #2167 improve: increase SystemTxsGas from 1,500,000 to 5,000,000
- #2172 improve: remove sharedpool from miner
- #1332 core/state: no need to prune block if the same
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | e41aea542b14076a491f6301b3eba8cf23d0212f75d860ba442bb83ee71bf066 |
geth_mac | 1fcd0a5ee0e47df7792b639bf876f294f98003bd75da97aea4c803d08f62ed05 |
geth_windows | 912820d83eee5bbdc7936b4db9c1571e44c181435449209e565e3c47d9648b64 |
geth_linux_arm64 | 3faf2832ec2d709d82c6501705ccc410cf613b7a0c9f6b3342d7fb9bcf499795 |
v1.3.7
Important:
For Kepler hard fork, pls use v1.3.7.
Description
Release v1.3.7 is another maintenance release, it mainly fixes an important ChainConfig issue and also provides the new RPC API: eth_getBlockReceipts
, which was supported on Ethereum since Sep 2023.
For detail, pls refer the following change log.
Changelog
FEATURE
- #2067 cmd/geth: add check func to validate state scheme
- #2068 internal/ethapi: implement eth_getBlockReceipts
BUGFIX
- #2035 all: pull snap sync PRs from upstream v1.13.5
- #2072 fix: fix the pebble config of level option
- #2078 core: LoadChainConfig return the predefined config for built-in networks firstly
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | a82951d91bc3ef901086d78ad13cfdfd04df25e88c1a899eb9c25c1608271e86 |
geth_mac | 4def1d34a6c372f10f22e550020bffc1cb9b3bd00e675b2d617b12581f1d7d0c |
geth_windows | c89ecced7331200c446fea01de0410efc4bb64d4d8bb91ea3223b5b2d442438d |
geth_linux_arm64 | 9bda37ff00921b56794f2d35a598b4c1ef31af3e26bf17e74faa3db2e8b8219d |
v1.3.6
Important:
Pls replace v1.3.5
with v1.3.6
for Kepler hard fork, otherwise your node will need to setup the Kepler hard fork timestamp in config.toml, which is inconvenient and not recommended.
Description
Release v1.3.6
is a maintenance release, it mainly solved the default Kepler hard fork timestamp issue(#2058). Its usage is same as v1.3.5
.
Besides this important fix up, there are several other improvement, such as:
- support to disable log rotate by hours
- enable Pebble on 32 bits and OpenBSD
- change default network to BSC
- provide 2 JS tools for simple chain status analyze
- delay FastFinality vote on node start up, to avoid voting again the rule when node switch.
- allow HTTPHost and WSHost flags precede
Changelog
FEATURE
- #2012 cmd, core, ethdb: enable Pebble on 32 bits and OpenBSD
- #2063 log: support to disable log rotate by hours
- #2064 log: limit rotateHours in range [0,23]
BUGFIX
- #2058 params: set default hardfork times
IMPROVEMENT
- #2015 cmd, core, eth: change default network from ETH to BSC
- #2036 cmd/jsutils: add 2 tools get validator version and block txs number
- #2037 core/txpool/legacypool: respect nolocals-setting
- #2042 core/systemcontracts: update CommitUrl for keplerUpgrade
- #2043 tests/truffle: adapt changes in bsc-genesis-contracts
- #2051 core/vote: wait some blocks before voting since mining begin
- #2060 cmd/utils: allow HTTPHost and WSHost flags precede
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 7d0194cc39f9ba977fcb20f89bf8286bc4bd8cf8bd87405e3befc74c78560e8b |
geth_mac | e5034f92923e56bc4684b9bdcb6b245b22eb10a2bf4efcdbb9529de4c13ffc55 |
geth_windows | 2e8860fd16a782722d4dee04e42ec33f6ac1d83a13f029f8c35e00302382a5fe |
geth_linux_arm64 | f4e62812bcc8c0777a01f9cf4811a4bd7cf7f72f0eba8b43ed05396a6ca2031c |
v1.3.5
Notice
- BSC will gradually switch to PBSS + PebbleDB mode, for BSC node-operators, you will need to know what it is and how can it impact your business.
We created a FAQ on forum page, pls check and welcome to give us your feedback: https://forum.bnbchain.org/t/faq-pbss-pebbledb/2260 - v1.2.x don't support Kepler hard fork, pls rebase your code to v1.3.5 ASAP, we will only support v1.3.5 once Kepler is enabled.
Description
Release v1.3.5 is a hard fork release for BSC.
It will enable the Kepler(Shanghai) hard fork on BSC testnet and mainnet, for details of the hard fork, pls refer: BSC Kepler Hard Fork
The target Kepler/Shanghai hard fork time will be:
- Testnet: Tuesday, December 19, 2023 8:00:00 AM UTC
- Mainnet: Tuesday, January 23, 2024 8:00:00 AM UTC
Instead of block number, BSC hard fork will be based on unix timestamp since Kepler(Shanghai). All validators and full node operators on Testnet/Mainnet should update their node to v1.3.5 before the respective hard fork time.
Kepler BEPs
- BEP-319: Optimize the incentive mechanism of the Fast Finality feature
- Part of Shanghai Upgrade:
a.BEP-216: Implement EIP-3855 PUSH0 instruction
b.BEP-217: Implement EIP3860 Limit and meter initcode
c. BEP-311: Warm COINBASE
d.BEP-312: Announce EIP-6049 Deprecate SELFDESTRUCT
Changelog
FEATURE
BUGFIX
- #1964 consensus/parlia: hardfork block can be epoch block
- #1979 fix: upgrade pebble and improve config
- #1980 internal/ethapi: fix null effectiveGasPrice in GetTransactionReceipt
IMPROVEMENT
- #1977 doc: add instructions for starting fullnode with pbss
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 7e1e16f2afbb038d28db407c098fe6fc60d651e1fb5829117896f2b342187f01 |
geth_mac | 01a7c3d8977831ed74143adf56d12d8d15a77d16d7fb6e7dc63fbde1ef18aa86 |
geth_windows | 05d3fe6ac6b4d66525781bcc77d9c0a5fd360394c4ad26d0d3a10c9827af5150 |
geth_linux_arm64 | 54067e5d224d0ac2d5cd7201e9e88d3b0addaae45cdde23c290f4c6e4ab3f0e7 |
v1.3.4
Attention
If your node meet the following 2 condition and it failed to sync after upgrade to v1.3.4 or v1.2.15, you may need to download the fastnode snapshot and sync again: https://github.com/48Club/bsc-snapshots.
- running fast node(--tries-verify-mode=none)
- did not upgrade to v1.3.4 or v1.2.15 before the Hertzfix hard fork, 07th Dec ~8am UTC
Refer: #2046
Description
This is a bugfix hard fork release named: Hertzfix
, check About The HertzFix
Hardfork will be enabled:
- Testnet: will be enabled at around 6am UTC, 05th Dec 2023.
https://testnet.bscscan.com/block/countdown/35682300 - Mainnet: will be enabled at around 8am UTC, 07th Dec 2023.
https://bscscan.com/block/countdown/34140700
All BSC node operators will be required to upgrade their node, depending on the current version that you are using:
- If you are using v1.2.x BSC, pls upgrade to v1.2.15
- If you are using v1.3.x BSC, pls upgrade to v1.3.4
Attention
Since v1.3.3, the flags --txlookuplimit
has been abandoned and replaced by --history.transactions
. Make sure you no longer use --txlookuplimit, otherwise the node will crash.
Changelog
BUGFIX
- fix: remove pipecommit in miner
- add a hard fork: Hertzfix
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | eca561863b1db895a7ccc7f041c19f98ac75aa16aeeafacffd738582d4bbc296 |
geth_mac | c29714a61eadbf98a93761707e56913cea3494e61c26b01bd08884e66e76d8c5 |
geth_windows | 03f67e8fb3fd504f34ac9f6a72d63a4788d31cd96b95a73e03c336bb40fd5ec7 |
geth_linux_arm64 | 6c13fb89bf9d2bb604c0c333e8c84e2e6e015a4aa1dd6e74942aca3e98996cd9 |
v1.2.15
Description
This is a bugfix hard fork release named: Hertzfix
, we will reveal more detail later.
Hardfork will be enabled:
- Testnet: will be enabled at around 6am UTC, 05th Dec 2023.
https://testnet.bscscan.com/block/countdown/35682300 - Mainnet: will be enabled at around 8am UTC, 07th Dec 2023.
https://bscscan.com/block/countdown/34140700
All BSC node operators will be required to upgrade their node, depending on the current version that you are using:
- If you are using v1.2.x BSC, pls upgrade to v1.2.15
- If you are using v1.3.x BSC, pls upgrade to v1.3.4
Changelog
BUGFIX
- fix: remove pipecommit in miner
- add a hard fork: Hertzfix
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | a0e2e4362506e7711a3de88ec65d5da9d64400af2b4cd9a2049d7acbebbf4edf |
geth_mac | 19e005f5743f60754c51b39d6b0fc3407cdbdaeb10909c816739233e9f24060c |
geth_windows | 8e6eb8d4c0454716ce6aaf4756b3a9b3c3f0e31b3fab202ec01b47d4ce4f6079 |
geth_linux_arm64 | 0048079319c9f8f9b1f6283579a6a6971978b7e9fcda20d4d99a7038aaa17083 |