Releases: bnb-chain/bsc
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 |
v1.3.3(Deprecated)
Changelog
Notice:
We got feedback from community that they can not start their node with v1.3.2 based on the snapshot provided by 48Club, the issue was already solved and code has been merged to develop.
This release is mainly to make it easier for these 48Club snapshot users.
And also --txlookuplimit
was abandoned officially since v1.3.3, replaced by flag: --history.transactions
IMPROVEMENT
- #2000 cmd/utils: exit process if txlookuplimit flag is set
BUGFIX
- #1986 fix(cmd): check pruneancient when creating db
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | e41bcc41e49a9045f33c87784a7af7c256ef078dfb32c27aa9fa152e1ef18676 |
geth_mac | 3374039899e69da504eb37fa57b860b5bdddd5b302ef45e8bdb2b589cadb1b05 |
geth_windows | 54edb0c7377138a4be7d7975a3fa4e4446730da8c811f7923549b4aadeaad5ae |
geth_linux_arm64 | 4d701fe5e45aa0b781c130983e9c3217ec1592cdf63493bfb8f0d66f0e68d10b |
v1.3.2(Deprecated)
Changelog
Attention:
Since v1.3.1, the flags --txlookuplimit
has been replaced by --history.transactions
. Make sure you no longer use --txlookuplimit
, otherwise, could have performance issue.
BUGFIX
fix: remove sharedPool
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | cf2fd66751f1a5874cc3076410c6dc3bc2104c91da28011252fe971d3ef31f7b |
geth_mac | 6d66bca0d9ecc8d2caf5472566be712a8ab27114cc47ab9d2073120bdafb21be |
geth_windows | 8474972e577b2a4e1986f7f0e9a04a6665b2a4958980b2b64c261167c485393c |
geth_linux_arm64 | 141afece7bf045a35b2d7acbf48be93b0e146da1c54ef4c72e080ac86b7ba5fa |
v1.2.14(Deprecated)
Changelog
BUGFIX
fix: remove sharedPool
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f |
testnet.zip | bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15 |
geth_linux | 5b06ded57f1bc033feedae8b07500c2c3b49f4f0e75688a1dca4638229ab63fb |
geth_mac | f58bcc3805728e9df3b2a9c89f403187da2c6e722d92a98125b1371fa8746783 |
geth_windows | 00b8d018aa681ad91795f0d5a13afd6bfac0b7adbb00872ea5fdf71b6b317fcb |
geth_linux_arm64 | c3a9cac849620cf59b91b257dd51651ed9d65360dd4baac1d97715a1173fa1ad |
v1.3.1-beta
We will use version control suffix like: "-alpha", "-beta" to show the status of the release.
For this release: v1.3.1-beta, it means this release is basically fine but validators or node operators would better use it cautiously.
Description
Release v1.3.1-beta is another maintenance release, it mainly has these changes:
- 1.Support PBSS
- 2.Performance Improvement, it reduced the validation cost dramatically.
- 3.Dependency upgrade, especially upgrade Golang from v1.19 to v1.20 and several other dependencies.
About PBSS
PBSS stands for: Path-Based-Storage-Scheme, which is used to optimize the MPT trie tree access, to improve its efficiency and also brings the inline state prune. You could refer this post on how it works: Geth Path-Based Storage Model and Newly Inline State Prune
Currently, PBSS is disabled by default, use this new flag to enable it: --state.scheme path
Important
Before use PBSS, you need to make sure your MPT storage in levelDB are already in PBSS format. There are 2 options to get the PBSS storage:
- 1.Full sync from genesis with the flag:
--state.scheme path
. // Not recommend, could take 3 months to catch up the latest block. - 2.Use the converting tool, refer: #1882. // Recommend, could take ~3 days to complete the MPT convert from HashBased to PBSS.
Another thing worth to note is that in the high-pressure situation of the BSC validator scenario, the nodebuffer
disk writing of PBSS will become a performance bottleneck. We have optimized this and made the disk writing operation become asynchronous in the background by using asynnodebuffer
.
Compatibility
PBSS will have a new MPT storage scheme, although it is still based the Key/Value database, like LevelDB. HashBased storage could not use PBSS and vice versa.
Changelog
FEATURE
- #1881 feat: active pbss
- #1882 cmd/geth: add hbss to pbss convert tool
- #1916 feat: cherry-pick pbss patch commits from eth repo in v1.13.2
- #1939 dependency: go version to 1.20 and some dependencies in go.mod
- #1955 eth, trie/triedb/pathdb: pbss patches
- #1962 cherry pick pbss patches from go-ethereum
BUGFIX
- #1923 consensus/parlia: fix nextForkHash in Extra filed of block header
- #1950 fix: 2 APIs of get receipt related
- #1951 txpool: fix a potential crash issue in shutdown;
- #1963 fix: revert trie commited flag after delete statedb mpt cache
IMPROVEMENT
- #1948 performance: commitTire concurrently
- #1949 code: remove accountTrieCache and storageTrieCache
- #1954 trie: keep trie prefetch during validation phase
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | a7e17cbd8533a5735bca57a03fd7519687a6de6f7484e99bcbf1d50721200716 |
testnet.zip | b26fe88ccb52f540a95cbf749503130f6dd38eb8d361b7ef87aaf9ee2d473ed9 |
geth_linux | e946aba5a84351081c4c1bff25e374a5b17c89f1437383b0fe989f0498ba1c77 |
geth_mac | 3b3f020716f9b2b2a1967a9e5f4a181ce79c2c5d7bebee08dcd0b0513d144de8 |
geth_windows | 03ccd2728a1810e6e4fb1a4237d507ba622337b65d16414a1b4c504f328a9cf9 |
geth_linux_arm64 | 72f69b0e6b79cd5ca97d7b791dd985b2ee4f5db13b359360070649cfda998344 |
v1.2.13
Release v1.2.13 is a maintenance release.
It is based on v1.2.12 with only 2 PRs: one is for performance enhancement, the other one is to fix 2 RPC APIs.
It does not contain the large code changes of v1.3.0, so it could be more reliable.
v1.2.13 has great performance improvement to calculate the root hash of some big contracts. Validator and full node operators are suggested to upgrade to this version.
Changelog
IMPROVEMENT
- #1954 performance: keep trie prefetch during validation phase
BUGFIX
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | a7e17cbd8533a5735bca57a03fd7519687a6de6f7484e99bcbf1d50721200716 |
testnet.zip | b26fe88ccb52f540a95cbf749503130f6dd38eb8d361b7ef87aaf9ee2d473ed9 |
geth_linux | 25d8dc6a863409446f1183af18b337859976d6578f98354e3b81c2027fcd2b4d |
geth_mac | 311563a18be604187f94b993b3a6d7074eb4f9255739861148492fa494a8dd26 |
geth_windows | d5a8fd49087701103d48a837dd23aea1d5d9e586788b9402c325bec20899053b |
geth_linux_arm64 | 53c0c3e883b84619e9a87666587e023bbc0a8981c67c50e0e9ffd07bcb2d1b36 |
v1.3.0
Attention
Do not use this version on critical business!!!
This is a maintenance release with huge code changes for upstream catch up.
Although many tests have been done before release, there could still have many potential bugs and need more time to verify its reliability.
It's better to use this version cautiously and it is not recommended to use it on critical business. User can help try it out on some none critical environment and would be appreciated to report issues that you found.
We have already found some performance decline in this release and we will improve it in the following releases.
Usage Changes
** OptionUltraLightFraction
& Noverify
are no longer supported and should be removed from config.toml
** Options of [Eth.Ethash]
are no longer supported and should be removed from config.toml
** Validators need to specify the etherbase address by add this argument on node start up: --miner.etherbase <your coinbase addr>
Changelog
RPC
- internal/ethapi: add debug_getRawReceipts RPC method (#24773)
- node, rpc: add ReadHeaderTimeout config option (#25338)
- rpc: check that "version" is "2.0" in request objects (#25570)
- rpc: support injecting HTTP headers through context (#26023)
- rpc: websocket should respect the "HTTP_PROXY" by default (#27264)
- rpc: change BlockNumber constant values to match ethclient (#27219)
- eth: make debug_StorageRangeAt take a block hash or number (#27328)
- eth,core: add api debug_getTrieFlushInterval (#27303)
- rpc: add limit for batch request items and response size (#26681)
- core/types: support yParity field in JSON transactions (#27744)
- eth/filters: send rpctransactions in pending-subscription (#26126)
Flag
- cmd/geth: rename --whitelist to --eth.requiredblocks (#24505)
- cmd: migrate to urfave/cli/v2 (#24751)
- cmd/utils: print warning when --metrics.port set without --metrics.ad…
- cmd/devp2p: add --extaddr flag (#26312)
- core,eth: adddebug_setTrieFlushInterval to change trie flush frequ
- miner, cmd, eth: require explicit etherbase address (#26413)
- cmd/geth: Add[--log.format] cli param (#27001)
- cmd/geth: rename --vmodule to --log.vmodule (#27071)
- params, trie: add verkle fork management + upgrade go-verkle (#27464)
GraphQL
- graphql: fee history fields (#24452)
- graphql: add rawReceipt field to transaction type (#24738)
- graphql: add raw fields to block and tx (#24816)
- graphql: return correct logs for tx (#25612)
- graphql: add query timeout (#26116)
- graphql, node, rpc: improve HTTP write timeout handling (#25457)
- graphql: implement withdrawals (EIP-4895) (#27072)
Client
- ethclient: add CallContractAtHash (#24355)
- ethclient: add PeerCount method (#24849)
- ethereum, ethclient: add FeeHistory support (#25403)
- eth/filters, ethclient/gethclient: add fullTx option to pending tx fi…
- ethclient: include withdrawals in ethclient block responses (#26778)
Tracer
- eth/tracers/js: drop duktape engine (#24934)
- eth/tracers: add support for block overrides in debug_traceCall (#24871)
- eth/tracers: add onlyTopCall option to callTracer (#25430)
- eth/tracers: remove revertReasonTracer, add revert reason to callTracer
- eth/tracers: add diffMode to prestateTracer (#25422)
- eth/tracers: add multiplexing tracer (#26086)
- core/vm: set tracer-observable value of a delegatecall to match parent
value
- eth/tracers: add native flatCallTracer (aka parity style tracer) (#26…
- eth/tracers/native: set created address to nil in case of failure (#2…
- eth/tracers: report correct gasLimit in call tracers (#27029)
- eth/tracers: addtxHashfield on txTraceResult (#27183)
- eth/tracers: add ReturnData in the tracer's response (#27704)
Command
- cmd/geth: inspect snapshot dangling storage (#24643)
- core/state/snapshot: detect and clean up dangling storage snapshot in generation
- internal/ethapi: add db operations to api (#24739)
- cmd/geth: adddb check-state-contentto verify integrity of trie nodes (#24840)
- ethdb/remotedb, cmd: add support for remote (readonly) databases
- cmd/abigen: accept combined-json via stdin (#24960)
- cmd/geth: extend traverseRawState command (#24954)
- cmd/geth, core/state/snapshot: rework journal loading, implement account-check (#24765)
- cmd/geth: add a verkle subcommand (#25718)
- cmd/geth, cmd/utils: geth attach with custom headers (#25829)
- core/rawdb: refactor db inspector for extending multiple ancient storage
- cmd/clef: addlist-accountsandlist-walletsto CLI (#26080)
- [cmd/clef: add importraw feature to clef (#26058)](17744639dafc...
v1.2.12
Description
Release v1.2.12 is a maintenance release for BSC mainnet and testnet.
It mainly support BootNodes on BSC mainnet, it would be easier for user to sync with the BSC network. User no longer need to setup the StaticNodes
in config.toml any more, just leave empty and make sure delete the BootstrapNodes
field in config.toml, may check the mainnet.zip
of this release.
And it also fixed three bugs to make the node more reliable, not critical bugs, pls check the change log for detail.
You may refer this post on how to use BootNodes: https://forum.bnbchain.org/t/try-bootnodes-after-bsc-release-v1-2-12/1998
Changelog
FEATURE
- #1852 discov: add hardcoded bootnodes
BUGFIX
- #1844 crypto: Update BLST to v0.3.11
- #1854 fetcher: no import blocks before or equal to the finalized height
- #1855 eth/tracers: trace system tx should add intrinsicGas
IMPROVEMENT
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | 4fc78d0a1f2e15764ed2ec72ada5cb3d0e0f2d59fdf873fedd8f5057be8198f1 |
testnet.zip | b26fe88ccb52f540a95cbf749503130f6dd38eb8d361b7ef87aaf9ee2d473ed9 |
geth_linux | fc51b3c67893effa5236cf707495286257bdfa98a024b166c3c540d3b83bb0c7 |
geth_mac | 2d6b016ee594a4b6b891821221ed4a117a95276fee50f9963862b6cf2728954f |
geth_windows | 07f32d1ef3e591273818eb129b4880a3769949dc323b2d43b852b4467e8f149b |
geth_linux_arm64 | 870daa20e25c088748d6f290fb1244ae4bf0a86d9b22707507bf9f63cfd5e914 |
v1.2.11
This is another maintenance release for BSC mainnet and testnet.
It mainly fixed a sync bug, for peers that are lagging behind too much blocks(>90,000), it may not be able to sync.
And it also provides a new option to disable attestation: --disablevoteattestation on some special cases and the option --disablebscprotocol was abandoned.
Changelog
FEATURE
- #1797 client: add FinalizedHeader/Block to use the fast finality
- #1805 vote: remove DisableBscProtocol and add flag to skip votes assmebling
BUGFIX
- #1829 fix: lagging nodes failed to sync
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | 4fc78d0a1f2e15764ed2ec72ada5cb3d0e0f2d59fdf873fedd8f5057be8198f1 |
testnet.zip | b26fe88ccb52f540a95cbf749503130f6dd38eb8d361b7ef87aaf9ee2d473ed9 |
geth_linux | 5829efd0f866ec2726c260f4c840bcfecb9faff36257a0ff62b0f5a50346a75d |
geth_mac | 3f22170b5e2f3eefcea45f7709c800a291c294bd7e38656aac7254629db83cdb |
geth_windows | 480b7a3bc48712d34424cef8dddd1a95a0e16793fea762579b7fdb136cef3c53 |
geth_linux_arm64 | 714a0160dc17963343002eb9dfa8a3ea9b31db63aac534899d88deec3ad9c221 |