Releases: bnb-chain/bsc
v1.2.9
Attention
Important: For validators, please follow the steps to setup your vote key to enable fast finality: How To Set Up The Vote Key
Description
It is a hard-fork release for BSC mainnet.
It sets up the hard fork height for both Plato and Hertz(Berlin,London).
The two hard forks have been running on Testnet for a while and their hard fork height are close, so we decide to put them within a single release to save the upgrade effort.
For the detail changes of the two hard fork, pls refer: https://forum.bnbchain.org/t/bnb-chain-upgrades-mainnet/936
The validators and full node operators on mainnet should switch their software version to v1.2.9 before Aug-10th-2023.
Plato
The mainnet is expected to have a scheduled hardfork upgrade named Plato at block height 30,720,096. The current block generation speed forecasts this to occur around Aug-10th-2023.
The Plato hardfork includes 1 BEPs:
- BEP-126: Introduce Fast Finality Mechanism, the 2nd part.
Hertz
The mainnet is expected to have 3 scheduled hardfork upgrades named (Hertz, London, Berlin)
at same block height 31,302,048. The current block generation speed forecasts this to occur around Aug-30th-2023.
The Hertz
hardfork will port some of London&Berlin
upgrades from Ethereum to BSC for compatiblity. But due to the difference between the 2 networks, there would inevitably has difference in implementation, especially the difference in EIP-1559, the BaseFee will be zero on BSC, so this hard fork will neither introduce new burn mechanism nor the concept of GasTip. In short words, it only provides the interface, but actually no change to the current BSC Gas mechanism.
Here is the list of Hertz
upgrade:
-
Berlin Upgrades Ported:
a.BEP-225: Implement EIP-2565 ModExp Gas Cost
b.BEP-229: Implement EIP-2718 Typed Transaction Envelope
c.BEP-230: Implement EIP-2929 Gas cost increases for state access opcodes
d.BEP-231: Implement EIP-2930: Optional access lists -
London Upgrades Ported:
a.BEP-227: Implement EIP-3198: BASEFEE opcode
b.BEP-226: Implement EIP-1559 with base fee of 0
c.BEP-228: Implement EIP-3541: Prevent deploying contracts starting with 0xEF
d.BEP-212: Implement EIP-3529: Reduction in Refunds
There are many changes with these BEPs, DApp developers & users needs to make sure they clearly understand these changes and the potential impact to their business.
- New transaction types are supported, i.e. AccessList & DynamicFee(1559), by BEP-229, BEP-231, BEP-226
- The gas metering mechanism has been changed, by BEP-225, BEP-230, BEP-212;
- New EVM opcode(BASEFEE) is supported, by BEP-227
- Prevent deploying contracts starting with 0xEF, by BEP-228
Change Log
FEATURE
- #1735 log: added option to rotate logs based on number of hours with a maximum of 24
- #1727 discov: increase bucket size for bootnodes
- #1739 eth/tracers: add multiplexing tracer
- #1775 upgrade: several hardfork block height on mainnet: Plato, Hertz(Berlin, London)
BUGFIX
- #1741 fix: defend ddos voting attack with other mini fix according to audit
IMPROVEMENT
- #1725 log: uncomment some trace log
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | 4fc78d0a1f2e15764ed2ec72ada5cb3d0e0f2d59fdf873fedd8f5057be8198f1 |
testnet.zip | b26fe88ccb52f540a95cbf749503130f6dd38eb8d361b7ef87aaf9ee2d473ed9 |
geth_linux | fbbf6e6f0abef96cd2cf230afaef1656929e2ee2b78adc901e0dfbecd254b0fc |
geth_mac | c8837921878b13efe933cf6033609da82f2bd3796cc613e005a2f50c7c9f1e47 |
geth_windows | a19a6863b4158f1797a5eef24bc59f5b0cbe4943f7d35530c4b9b4c2bb187aa5 |
geth_linux_arm64 | 6eda77dc7422b79581d14d65e4647a1913818f919fd94dba9feffd5232f3df25 |
v1.2.8
v1.2.8 is a maintenance release, it mainly fixes a potential deadlock on FastFinality VotePool and provides 2 other features(FastFinality & Web3 API related).
Changelog
FEATURE
- #1626 eth/filters, ethclient/gethclient: add fullTx option to pending tx filter
- #1726 feat: support password flag when handling bls keys
BUGFIX
- #1734 fix: avoid to block the chain when failed to send votes
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | 4fc78d0a1f2e15764ed2ec72ada5cb3d0e0f2d59fdf873fedd8f5057be8198f1 |
testnet.zip | b26fe88ccb52f540a95cbf749503130f6dd38eb8d361b7ef87aaf9ee2d473ed9 |
geth_linux | 903f2dc9a4621de36c24eebdad0e152443dc01838c60b5fa0ce4160e0465ed2e |
geth_mac | 8d03b99de532359fe3d695eaa4b6fce3baa35ea158499e990a72e9480cde1164 |
geth_windows | 51ce63c885452bf5899bcbaacd33437592a4dcd891d71da8bf665e7c37c453ad |
geth_linux_arm64 | 4555afd19eb298d082859bd4c58caa4beedfa8b4f4ac6ac0fa27f8b4a23815e6 |
v1.2.7
Attention
- SELFDESTRUCT will no longer be refunded
- There are 3 hard forks, node operators need to set them up at the same fork height, i.e.
BerlinBlock = 31103030
,LondonBlock = 31103030
,HertzBlock = 31103030
Description
v1.2.7 is a hard-fork release for BSC testnet.
The testnet is expected to have 3 scheduled hardfork upgrades named Hertz, London, Berlin)
at same block height 31,103,030. The current block generation speed forecasts this to occur around 29th Jun 2023.
The validators and full node operators on testnet should switch their software version to v1.2.7 before 29th Jun 2023.
The Hertz
hardfork will port some of London&Berlin
upgrades from Ethereum to BSC for compatiblity. But due to the difference between the 2 networks, there would inevitably has difference in implementation, especially the difference in EIP-1559, the BaseFee will be zero on BSC, so this hard fork will neither introduce new burn mechanism nor the concept of GasTip. In short words, it only provides the interface, but actually no change to the current BSC Gas mechanism.
Here is the list of Hertz
upgrade:
-
Berlin Upgrades Ported:
a.BEP-225: Implement EIP-2565 ModExp Gas Cost
b.BEP-229: Implement EIP-2718 Typed Transaction Envelope
c.BEP-230: Implement EIP-2929 Gas cost increases for state access opcodes
d.BEP-231: Implement EIP-2930: Optional access lists -
London Upgrades Ported:
a.BEP-227: Implement EIP-3198: BASEFEE opcode
b.BEP-226: Implement EIP-1559 with base fee of 0
c.BEP-228: Implement EIP-3541: Prevent deploying contracts starting with 0xEF
d.BEP-212: Implement EIP-3529: Reduction in Refunds
There are many changes with these BEPs, DApp developers & users needs to make sure they clearly understand these changes and the potential impact to their business.
- New transaction types are supported, i.e. AccessList & DynamicFee(1559), by BEP-229, BEP-231, BEP-226
- The gas metering mechanism has been changed, by BEP-225, BEP-230, BEP-212;
- New EVM opcode(BASEFEE) is supported, by BEP-227
- Prevent deploying contracts starting with 0xEF, by BEP-228
Changelog
FEATURE
- #1697 upgrade: block height of Hertz(London&Berlin) on testnet
- #1686 eip3529tests: refactor tests
- #1676 EIP-3529 (BEP-212) Unit tests for Parlia Config
- #1660 feat: add a tool for submitting evidence of maliciousvoting
- #1623 P2P: try to limit the connection number per IP address
- #1608 feature: Enable Berlin EIPs
- #1597 feature: add malicious vote monitor
- #1422 core: port several London EIPs on BSC
- #1717 feat: support creating a bls keystore from a specified private key
- #1720 metrics: add counter for voting status of whole network
IMPROVEMENT
- #1662 consensus, core/rawdb, miner: downgrade logs
- #1654 config: use default fork config if not specified in config.toml
- #1642 readme: update the disk requirement to 2.5TB
- #1621 upgrade: avoid to modify RialtoGenesisHash when testing in rialtoNet
BUGFIX
- #1682 fix: set the signer of parlia to the most permissive one
- #1681 fix: not double GasLimit of block upon London upgrade
- #1679 fix: check integer overflow when decode crosschain payload
- #1671 fix: voting can only be enabled when mining
- #1663 fix: ungraceful shutdown caused by malicious Vote Monitor
- #1651 fix: remove naturally finality
- #1641 fix: support getFilterChanges after NewFinalizedHeaderFilter
- #1645 lightclient: fix validator set change
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba |
testnet.zip | 9a81824dfdfae976edceee646691fb8ed262f4d5adbff74f444770da5e2793e5 |
geth_linux | 798ffe167895d2998e2e4a482a5c0364032fa917f53b6e8446f3f2ccad00ce4e |
geth_mac | bf0d477989790aa137155146e072c02e928bd1526ee1b5ed8721b10e9ed6f79e |
geth_windows | c2015fafbd83dc5b1c1374fce1b667bcb20c52aefea299c9ba2dcadde9d152b5 |
geth_linux_arm64 | a7e3a7db7ffa4eb464ae850305ba9f5b9a44277ea34c1cefe33034c454332a29 |
v1.2.6
Abandoned.
It will be replaced by v1.2.7, since it missed a desired change.
v1.2.5
Attention
The previous release v1.2.4
has a performance issue on node shutdown, could take quite a long time(more then several minutes) to gracefully shutdown the node, v1.2.5
only fixes this issue.
For validators and full node operators, if you are using v1.2.4
, it is ok to keep running without upgrading to v1.2.5
.
But since long time shutdown could result in a force kill if you are using like: systemd, which may damage the database with a small chance. It would be better for you to start another backup node before upgrading to v1.2.5
.
Changelog
BUGFIX
- #1675 goleveldb: downgrade the version for performance
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba |
testnet.zip | 9a81824dfdfae976edceee646691fb8ed262f4d5adbff74f444770da5e2793e5 |
geth_linux | a36e354da180a8220ff84e656e7b590874175d47b563c6854f47d87875d0f794 |
geth_mac | de57fe043e721284917155a369934d7ff69e1e9aec1e19a5724ea586f078fb2f |
geth_windows | 255a29b2ae1013b13c03edb55b88af0076da0979c81b8bb6a93e6d074e5c68f4 |
geth_linux_arm64 | e32fb071d46a4edd51696171f41ed3cacd567600e79b77b3896aa7466007bc35 |
v1.2.4
pls don't enable this flag: --monitor.maliciousvote
, there is a bug, fixed in latest develop branch.
Attention
It is a hard-fork release for BSC mainnet.
The mainnet is expected to have a scheduled hardfork upgrade named Luban
at block height 29,020,050. The current block generation speed forecasts this to occur around 12th Jun 2023.
The Luban
hardfork includes 3 BEPs:
BEP-126: Introduce Fast Finality Mechanism(The 1st Part)
BEP-174: Cross Chain Relayer Management
BEP-221: CometBFT Light Block Validation
The validators and full node operators on mainnet should switch their software version to v1.2.4 before 12th Jun 2023.
As Luban introduces the 1st part of FastFinality, and if you are operating a validator, extra steps are needed to generate the voting key and some configuration setup are also needed, for detail, you may refer: For Validator Operator
And here are some documents that may help you to get started with FastFinality on BSC:
- The Upcoming FastFinality On BSC
- Luban Upgrade Announcement
- FAQ: About FastFinality
- Edit Validators On Beacn Chain
Also Note: the flag
--diffsync
has been deprecated, the flag will be removed in the future, do not use it.
Changelog
FEATURE
- #1636 upgrade: block height of Luban on mainnet
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba |
testnet.zip | bea96c7577f7ff8fe25384a3975059350fe2955e5b953180b26bc8944b6b9542 |
geth_linux | a87fe0e90c1b58b2f60daa6806c0c73c925f43b5862cf655b5419fc9e2ae314f |
geth_mac | 415c4f02459275f2061d53a25cc9edd0d4ce96fd94ed58a483be963869d6ebc8 |
geth_windows | 2c570c3d61ab38babf3e09a967223e74c345f43d062b4172cdde16a9875c8f4f |
geth_linux_arm64 | bd606e7739b0bd870e4c2d6357387ad9da49fb220095bf24ed853cd01f7ccdc4 |
v1.2.3
This release should be named by v1.2.2
, if you run: geth version
, it will be v1.2.2
.
It is caused by a mis-operation, sorry for the inconvenience, we will double check next time.
Attention
The BSC testnet is expected to have a scheduled hardfork upgrade named Plato at block height 29,861,024. The current block generation speed forecasts this to occur around 17th May 2023 at 06:30 AM (UTC).
The Plato hardfork enables the big feature FastFinality: BEP-126: Introduce Fast Finality Mechanism. The validators and full node operators on testnet should switch their software version to v1.2.3 before 17th May 2023.
And for validators, additional steps are needed to use the feature of FastFinality, it has been introduced in the previous Luban upgrade, may refer: how does this upgrade affect me
Since FastFinality is a big feature on BSC, it brings some changes to the network. If you have any question, you can refer: FAQ: Everything About FastFinality
Changelog
FEATURE
IMPROVEMENT
- #866 code: x = append(y) is equivalent to x = y
- #1488 eth/tracers, core/vm: remove
time
from trace output and tracing interface - #1547 fix: recently signed check when slashing unavailable validator
- #1573 feat: remove supports for legacy proof type
- #1576 fix: support golang 1.20 by upgrading prysm to v4
- #1578 fix: output an error log when bsc extension fail to handshake
- #1583 metrics: add a counter for validator to check work status of voting
- #1601 feature: add malicious vote monitor
BUGFIX
- #1566 fix: config for VoteJournalDir and BLSWalletDir
- #1572 fix: remove dynamic metric labels about fast finality
- #1575 fix: make BLST PORTABLE for release binary
- #1590 fix: fix snap flaky tests
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba |
testnet.zip | bea96c7577f7ff8fe25384a3975059350fe2955e5b953180b26bc8944b6b9542 |
geth_linux | 2716e21602d2ec11d0813a2fdcd29f2a5d676925e5d20d378d387551fa6c6746 |
geth_mac | b461b6ea6ef8a173d91ef174da8ca33f718255a5c1f69995c2ae084a02e8590f |
geth_windows | 006e2cd1812c4222054687e6e102d65692e959bf8e5249de94e674d4bc321308 |
geth_linux_arm64 | ddd61d36bf74af3297a493d531f982d4438f1984113ec9d6c5aea6e4d4202f73 |
v1.2.1
This release is a maintenance release, it only changed a log level to avoid printing too much logs.
You may refer v1.2.0 for the detail of this big release.
Notice:
Sorry, I forgot to update the version number in the code for this release.
If you run geth version
, it will still be v1.2.0.
I will not raise another release to correct it, since v1.2.1 is almost the same as v1.2.0, let's just move on.
Changelog
IMPROVEMENT
#1527 log: revert a log back to trace level
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba |
testnet.zip | bea96c7577f7ff8fe25384a3975059350fe2955e5b953180b26bc8944b6b9542 |
geth_linux | 6ea203d08c7fbcc6626e45b9360413f5add952d64c84ca5a9a8e32e62b918f96 |
geth_mac | c80e1500a1424b63d66dfbee770d79e190ae83906154be4811a42aa2d6bbf917 |
geth_windows | 9285cfac05992b5fb0676b35ec21da3b300ea3ffeda5391941bed377aec1b2b4 |
geth_linux_arm64 | e418a55c9cd78efa048f7b3e1985c598700bf5b7c87ff70bea0fe5dace506cc8 |
v1.2.0
Attention
This is a big hard fork(Luban) release for BSC Testnet, it includes the code of Fast Finality.
The hard fork will take place on Testnet at block height: 29,295,050, around 6:30(UTC) 27th April 2023.
It is not recommended for mainnet to use this version, especially validator, since more test is needed to make sure it is stable.
And if you are operating a validator on testnet, extra steps are needed to generate the voting key and some configuration setup are also needed, for detail: For Testnet Validator Operator
Changelog
FEATURE
- #936 BEP-126: Introduce Fast Finality Mechanism
- #1434 fix: improvements after testing fast finality
- #1325 genesis: add BEP174 changes to relayer contract
- #1357 Integration API for EIP-4337 bundler with an L2 validator/sequencer
- #1463 BEP-221: implement cometBFT light block validation
- #1493 bep: update the bytecode of luban fork after the contract release
IMPROVEMENT
- #1486 feature: remove diff protocol registration
BUGFIX
- #1430 docker: upgrade alpine version & remove apks version
- #1458 cmd/faucet: clear reqs list when reorg to lower nonce
- #1484 fix: a deadlock caused by bsc protocol handeshake timeout
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba |
testnet.zip | bea96c7577f7ff8fe25384a3975059350fe2955e5b953180b26bc8944b6b9542 |
geth_linux | 75f50ce27b8ea080d6adfb18b223d355f42298f740f734c1e40d0134c409847c |
geth_mac | 7c1a46f0bf3651775da93d34271efd8ece16b665b6f1531cb646fca8d235511b |
geth_windows | 4b8b626bce0ebe858fba3e2a32c4ab7c62e17ae2cce6b739e18213823996627f |
geth_linux_arm64 | ce38be49fed7993eab0e36acc15c4eb1858d49d5c6113bdfe9a65a085ecedbff |
v1.1.23
This is a hot fix release, it fixed the crash bug of the previous release v1.1.22.
Changelog
BUGFIX
- #1464 fix: panic on using WaitGroup after it is freed
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba |
testnet.zip | bea96c7577f7ff8fe25384a3975059350fe2955e5b953180b26bc8944b6b9542 |
geth_linux | 6636c40d4e82017257467ab2cfc88b11990cf3bb35faeec9c5194ab90009a81f |
geth_mac | dd65d7843d822ea52025975568af839ff64f2fe7b0ecdb4ed53a8811421b88ca |
geth_windows | 243ba1733f54aa7615afaa63a783e0051a295a39e524077cfd73c41b8c7700b5 |
geth_linux_arm-5 | 32532f21cb2bb4788f3e3bf7db8dc8a1ec100900e13d1de7c4d2b8a00ef92eb0 |
geth_linux_arm-6 | 837546a370b1be8231b4999acd67a2c6ebbf1b2acbf29de455d58e3c257e5bd6 |
geth_linux_arm-7 | d2e8705a869a824e93e2313c8737f1be6d4d3420685dc43b0cdb554bbe66eb1c |
geth_linux_arm64 | 74105d6b9b8483a92ab8311784315c5f65dac2213004e0b1433cdf9127bced35 |