Releases: bnb-chain/bsc
v1.4.9
Description
Mandatory Update: No
Latest Mandatory Update: v1.4.8
v1.4.9 is a maintenance release, which mainly addressed some issues about: prune-block, multi-database and MEV
There is no compatible change, to upgrade to v1.4.9 from v1.4.x, simply replace the binary should work.
Changelog
FEATURE
- #2463 utils: add check_blobtx.js
- #2470 jsutils: faucet successful requests within blocks
- #2467 internal/ethapi: add optional parameter for blobSidecars
IMPROVEMENT
- #2462 cmd/utils: add a flag to change breathe block interval for testing
- #2497 params/config: add Bohr hardfork
- #2479 dev: ensure consistency in BPS bundle result
BUGFIX
- #2461 eth/handler: check lists in body before broadcast blocks
- #2455 cmd: fix memory leak when big dataset
- #2466 sync: fix some sync issues caused by prune-block.
- #2475 fix: move mev op to MinerAPI & add command to console
- #2473 fix: limit the gas price of the mev bid
- #2484 fix: fix inspect database error
- #2481 fix: keep 9W blocks in ancient db when prune block
- #2495 fix: add an empty freeze db
- #2507 fix: waiting for the last simulation before pick best bid
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 52e4ed0f6000b14f40bc5ce215e48f1f516664af7ad331b365696d93613487b4 |
geth_mac | 0bb2f95f40920ac2c1a68d7b2501d34d1cd88456bb0c9e7307458068d06989b3 |
geth_windows | 3f2e9c7a70a350cafa5bf08f14485acefc1ca19ae8684d97f744cb5166e4c4e2 |
geth_linux_arm64 | 24821c6130837c96830434f8be243f94b0ff35f30ceb4c0ebf6d381ba89d002a |
v1.4.8
Notice
Mandatory Update: Yes
Haber and Tycho(Cancun: BlobTx) hard fork will be enabled on BSC mainnet simultaneously, so this release also supports the Tycho hard fork, detail of Tycho hard fork may refer https://github.com/bnb-chain/bsc/releases/edit/v1.4.7
Description
Release v1.4.8 is a cut-in hard fork release for BSC Testnet and Mainnet, the HF name is: Haber, it only supports one BEP: BEP-381: Precompile for secp256r1 Curve Support
As there is strong demand for supporting of secp256r1 pre-compile contract, we decide to move it faster.
And BSC would use address 0x100, which is same as other major chains to make it easier for developers.
Developers may refer this code on how to use this pre-compile contract: https://github.com/getclave/clave-contracts/blob/master/contracts/helpers/VerifierCaller.sol
The target Haber hard fork time will be:
- Testnet: 2024-05-29 06:07:00 AM UTC
- Mainnet: 2024-06-20 06:05:00 AM UTC
Changelog
FEATURE
- #2483 core/vm: add secp256r1 into PrecompiledContractsHaber
- #2400 RIP-7212: Precompile for secp256r1 Curve Support
IMPROVEMENT
NA
BUGFIX
NA
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 8310f250fe8f628ec839d5954ff4e3e70ca1a0248e3b76243f4885945dd5ce3e |
geth_mac | c99ede9b07d09fe5960a03bce0cd3c92c8f93d0022741b3cb7ccf3ecbb7070e4 |
geth_windows | ec7d777c7a200612e301da863a64b1ddf5ed76e5dba575e496479174453cd4d8 |
geth_linux_arm64 | a2a7ee2872dc2d0dc4fadd7417d31f7fcdf6e553cf1b90cb630fcd6c0dcff845 |
v1.4.7
Description
Release v1.4.7 is a hard fork release for BSC Mainnet, the HF name is: Tycho, it mainly support Cancun EIPs on BSC:
- a.BEP-336: Implement EIP-4844: ProtoDanksharding
- b.BEP-343: Implement EIP-1153: Transient storage opcodes
- c.BEP-344: Implement EIP-6780: SELFDESTRUCT only in same transaction
- d.BEP-342: Implement EIP-5656: MCOPY
- e.BEP-345: Implement EIP-7516: BLOBBASEFEE opcode
But BSC won’t support “EIP-4788: BeaconRoot”, as there is no CL on BSC.
The target Tycho hard fork time will be:
- Mainnet: 2024-06-20 06:05:00 AM UTC
After Tycho
hard fork, BSC will also support Blob Transaction, which will provide similar mechanism as Ethereum EIP-4844. And BSC L2 rollup could take advantage of it to reduce the rollup cost.
If you have any question about it, pls refer: FAQ: About EIP-4844 on BSC
Changelog
FEATURE
- #2439 config: setup Mainnet Tycho(Cancun) hardfork date
IMPROVEMENT
- #2396 metrics: add blockInsertMgaspsGauge to trace mgasps
- #2411 build(deps): bump golang.org/x/net from 0.19.0 to 0.23.0
- #2435 txpool: limit max gas when mining is enabled
- #2438 fix: performance issue when load journal
- #2440 nancy: add files .nancy-ignore
BUGFIX
NA
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 84853f993eb30b38a5c35cfdb65e036ccddb9b697c54483870cb034d2b055cba |
geth_mac | eb7fa9993cff3b9f203766170e46266e3c2169c0434d7f7ed746113260244fbc |
geth_windows | f52e5ef1abbf6be565e0696fcba46f86cefc1d4170b76577af34e4b5fe206f1c |
geth_linux_arm64 | ade5dfdc85d79ca5086bae6821599e598a154a7e644c7608bc243f472395cd5f |
v1.4.6
Description
Release v1.4.6 is a maintenance release. It mainly includes 2 features and several enhancements.
The 2 features are:
- feature 1: separated databases for block data, it is an experimental feature for performance, it is disabled by default.
- feature 2: p2p: filter peers by regex on name, it is for P2P connection, to filter unwanted peers based on their names.
You may check the Change Log for detail.
Changelog
FEATURE
IMPROVEMENT
- #2201 chore: render system bytecode by go:embed
- #2363 feat: greedy merge tx in bid
- #2389 deps: update prsym to solve warning about quic-go version
- #2341 core/trie: persist TrieJournal to journal file instead of kv database
- #2395 fix: trieJournal format compatible old db format
- #2406 feat: adaptive for loading journal file or journal kv during loadJournal
- #2390 chore: fix function names in comment
- #2399 chore: fix some typos in comments
- #2408 chore: fix some typos in comments
- #2416 fix: fix function names
- #2424 feat: recommit bid when newBidCh is empty to maximize mev reward
- #2430 fix: oom caused by non-discarded mev simulation env
- #2428 chore: add metric & log for blobTx
- #2419 metrics: add doublesign counter
BUGFIX
- #2244 cmd/geth: fix importBlock
- #2391 fix: print value instead of pointer in ConfigCompatError
- #2398 fix: no import blocks before or equal to the finalized height
- #2401 fix: allow fast node to rewind after abnormal shutdown
- #2403 fix: a nil point error in mev worker
- #2423 eth/gasprice: add query limit to defend DDOS attack
- #2425 fix: adapt journal for cmd
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 067722de6ee4d34e2a5e309f34edc4c252b383b68f3da10d106d1e284ec0d652 |
geth_mac | 05c4c878776a13e7f4ff1c8decdd05e2d60d807005ebeb3d10dc13e59926fe30 |
geth_windows | 2f2948e94c06de86b450d2c56760d49b2ab8d9c32e50c705024ac630647bf5fc |
geth_linux_arm64 | 9ca3b2d85f60ef6cbc7bb90d0d59e59a37246d70b555594c64dcaa28f751f37e |
v1.4.5
Description
Release v1.4.5 is a hard fork release for BSC Chapel Testnet, the HF name is: Tycho, it mainly support Cancun EIPs on BSC:
- a.BEP-336: Implement EIP-4844: ProtoDanksharding
- b.BEP-343: Implement EIP-1153: Transient storage opcodes
- c.BEP-344: Implement EIP-6780: SELFDESTRUCT only in same transaction
- d.BEP-342: Implement EIP-5656: MCOPY
- e.BEP-345: Implement EIP-7516: BLOBBASEFEE opcode
But BSC won’t support “EIP-4788: BeaconRoot”, as there is no CL on BSC.
The target Tycho hard fork time will be:
- Testnet: 2024-04-17 05:07:22 AM UTC
- Mainnet: To be determined, could be around Mid of Jun 2024
After Tycho
hard fork, BSC will also support Blob Transaction, which will provide similar mechanism as Ethereum EIP-4844. And BSC L2 rollup could take advantage of it to reduce the rollup cost.
If you have any question about it, pls refer: FAQ: About EIP-4844 on BSC
Changelog
FEATURE
- #2378 config: setup Testnet Tycho(Cancun) hardfork date
IMPROVEMENT
BUGFIX
- #2359 triedb: do not open state freezer under notries
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 6345521912693de147aa41eda78837021ce69fccb2391472f2aebb5059247590 |
geth_mac | 9ff72d449c6ee21e6a28c48dcab498ee5d8fb04615ed9e7fff1cd2fddabebe2a |
geth_windows | c3345c52e9377ae95d146ba2cac7a6482e4a8dc7a18576ac6c628a7160d1418e |
geth_linux_arm64 | 8ad39c6bb30aa52cdd66aef8f34d953c2b27ebe179232af75e1d1edf18af3e88 |
v1.4.4-beta
Description
Release v1.4.4-beta mainly contains 2 parts:
- it supports mainnet Feynman hard fork
- it includes the code of BSC-4844, which will be enabled on Tycho hardfork after Feynman
However, it is still at beta phase, for the upcoming mainnet Feynman hard fork, pls use stable release v1.3.13
Change Log
FEATURE
- #2279 BlobTx: implement EIP-4844 on BSC
- #2337 4844: bugfix and improve
- #2339 fix: missing block asigment WithSidecars
- #2350 cancun: change empty withdrawHash value of header
- #2335 upgrade: update system contracts bytes code and hardfork time of Feynman upgrade
- #2323 feat: export GasCeil in mev_params
- #2357 feat: add bid fee ceil in mev_params
IMPROVEMENT
- #2321 test: use full syncmode to run rpc node
- #2338 cmd: include more node info in metrics
- #2342 p2p: add metrics for inbound/outbound peers
- #2334 core: improve chain rewinding mechanism
- #2352 core: fix block report when chain is not setHead
BUGFIX
- #2367 fix: don't switch to snapsync for fast node
Example
NA
Compatibility
NA
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 4b6e02ed25ce93debfe3dc956be19d1431101d687dde7a245201323d5aa76a80 |
geth_mac | 8cc144fe75a4deb3ff8ce23db088af56fe34cd243c85692ead048f32519700d5 |
geth_windows | df0743250903fd30f5eb94307c6b9cd01a6683551f8c991b0a2554aaf4367949 |
geth_linux_arm64 | 3fba458cefa9d22cc4ea3c71ea46b864ff1762d64e47b3b3ab5c3eab6fa90f35 |
v1.3.13
Description
This release is going to enable the Feynman upgrade on BSC mainnet. The upgrade is forecasted to occur on 18th April 2024 at 05:49 (UTC). The full node runners on mainnet must switch their software version to the latest version by 18th April.
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
- #2358 doc: add Feynman upgrade for mainnet
- #2335 upgrade: update system contracts bytes code and hardfork time of Feynman upgrade
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | e48b613a8da2607fd4ab3f41ec320c8cf56aab975ea4362fc329208d0b90b368 |
geth_mac | 89f248c051296b5a8194b19ded434c6b9940178144bb1517c11a0a812c21e178 |
geth_windows | 4b7e54cb06616d2c620d14d18e3d0ffb93f1f9ca88b711d28c910403b7603d34 |
geth_linux_arm64 | 37e990242a2be465bfa007bf1e73d7ce95239933bc3761d7af52304df7d7364d |
v1.4.3-alpha
Notice
BSC uses PBSS&PebbleDB as the default and primary mode now, will mainly focus the stability and performance of PBSS&PebbleDB. And for HashBased&LevelDB mode, it still can work, but the support will be limited.
If you are still running BSC with HashBased & LevelDB, you'd better switch to PBSS&PebbleDB mode ASAP.
For more detail, pls refer: FAQ: PBSS & PebbleDB
Description
Release v1.4.3-alpha is a maintenance release, although it includes PR of Testnet FeynmanFix hard fork, but as 1.4.x is still at alpha status, for FeymanFix hard fork, you'd better try v1.3.12
v1.4.3-alpha mainly includes these parts:
- 1.Use PebbleDB as the default database
- 2.Use PBSS as the default state scheme
- 3.Some non-critical changes, like: no snap sync for fastnode; new flag: --instance; new cmd to delete trie state; some bugfix.
Same as previous v1.4.x-alpha, it 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
FEATURE
- #2241 cmd/utils, core/rawdb, triedb/pathdb: flip hash to path scheme
- #2312 cmd/utils, node: switch to Pebble as the default db if none exists
IMPROVEMENT
-
#2228 core: rephrase TriesInMemory log
-
#2234 cmd/utils: disable snap protocol for fast node
-
#2236 build(deps): bump github.com/quic-go/quic-go from 0.39.3 to 0.39.4
-
#2240 core/state: fix taskResult typo
-
#2280 cmd/utils, core: only full sync for fast nodes
-
#2298 cmd, node: initialize ports with --instance
-
#2302 cmd/geth, core/rawdb: add dbDeleteTrieState
-
#2304 eth/ethconfig: remove overridekepler and overrideshanghai
-
#2307 internal/ethapi: add net_nodeInfo
-
#2311 Port cancun related changes from unreleased v1.14.0
-
#2313 tests/truffle: use hbss to run test
-
#2314 cmd/jsutil: dump MinGasPrice for validator
-
#2317 feat: add mev metrics
BUGFIX
- #2272 parlia: add state prepare for internal SC transaction
- #2277 fix: systemTx should be always at the end of block
- #2299 fix: add FeynmanFix upgrade for a testnet issue
- #2310 core/vm: fix PrecompiledContractsCancun
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 1209556f6265d8bd419c385e38b7f80afad7c379b90e00bf834ba5185acf850e |
geth_mac | d416d679b545186009cef8fd5aeaa0be9f477da4bf8c92ceb96134745ded239a |
geth_windows | 60ff50823491d03e672984ee1c9411eac2ee4dac4b9416988f2b55b97b4240ce |
geth_linux_arm64 | b28f217601fbc514021ffbc0dcdba8625769a8746cdf9c68169c825a984e3303 |
v1.3.12
This is a maintenance release that addresses a minor issue.
Changelog
BUGFIX
- #2305 fix: fix the wrong version number
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | d9d22a943963fd90f49ca4d75d968a49e674eb93b28dee95492841c25985044a |
geth_mac | 3de70df462a28356013d1307a7389e232ed3d24e526c3caab90a70f78e39b989 |
geth_windows | 7ff9522984bee8dd6265e249c06708b098b0691b55f57bd25528f08440a1d6e2 |
geth_linux_arm64 | 8c3d3c9735da037630feb6f5a1dfcac69966242c484f4126af14235a7716ead4 |
v1.3.11
This release is going to enable the FeynmanFix upgrade on BSC testnet. This upgrade fix an edge case when the cross chain redelegation failed during the delegation migration. The upgrade is forecasted to occur on 25th March 2024 at 5:00 (UTC). The full node runners on testnet must switch their software version to the latest version by 25th March.
Changelog
BUGFIX
- #2288 fix: add FeynmanFix upgrade for a testnet issue
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 314151e17e0788042524d77204106050cf7aaa00bc487f451a8971a08f88e1dd |
geth_mac | 125aad4c16b0b8408edf15009997cedeb2bed861461dab90f40b273abeb68bd2 |
geth_windows | 615af5aa63f38b41be8b4c03e77539162311cf0cb82a008d0463e807dbbd006a |
geth_linux_arm64 | 4914a77f2c6cd54893eb4099b8d97d9e518d17bd905bdf532c283d70f9bbc894 |