This is a minor release for opBNB Mainnet and Testnet.
In this release, we've introduced significant optimizations and enhancements across various modes and functionalities, including PBSS Mode optimizations, the introduction of Fast Node Mode, EVM execution improvements, and a simplified start command, aimed at enhancing performance and user experience.
Upgrading is optional.
- PBSS Mode Optimizations: We have made multiple optimizations for PBSS mode, including the implementation of an async buffer, support for obtaining withdrawal proof on PBSS, and the introduction of an HBSS to PBSS convert tool. For more details, please refer to #69, #74, and #79.
- Fast Node Mode: We have introduced a new mode called "Fast Node" to improve the performance and reduce the resources required by the node. This enhancement is aimed at providing a more efficient and streamlined experience. Please see more details in #75.
- EVM Execution Opcode Level Optimization: Our latest update includes optimizations at the EVM execution opcode level, resulting in improved performance for EVM execution. For a deeper understanding of these changes, please refer to #77 and #81.
- Simplified Start Command: We have simplified the start command by enabling the selection of default network configuration through the use of
--opBNBMainnet
or--opBNBTestnet
in the command. This enhancement aims to streamline the user experience. More information can be found in #91.
- #69: feat: add async buffer
- #71: chore: add miner perf metrics
- #74: feat: support getting withdrawal proof on pbss
- #75: feat: implement fast node
- #76: bugfix: fix Resubscribe deadlock when unsubscribing after inner sub ends
- #77: feat: EVM execution opcode level optimization
- #79: cmd/geth: add hbss to pbss convert tool
- #81: feat: introduce hash cache to improve performance
- #88: fix: fix base buffer concurrent read/write race
- #91: feat: simplify node start
- ghcr.io/bnb-chain/op-geth:v0.3.1
https://github.com/bnb-chain/op-geth/compare/v0.3.0...v0.3.1
This is a recommended release for op-geth. This release brings in upstream updates, see bnb-chain/op-geth#58 for the contents. This is also a ready release for the next planed fork, which will bring in canyon fork from upstream as well.
- Feature of config tries layer number in memory is removed, and related flag
--triesInMemory
is deleted. - If start a fresh node, will use pebble db as default(set
--db.engine=leveldb
if prefer leveldb) - You can start opbnb mainnet or testnet without init genesis.json, and use flag
--opBNBMainnet
or--opBNBTestnet
to start new node. If you have already inited genesis.json, you can still use these two flags, which will check whether the content of your init is correct.
- #64: fix(op-geth):fix static peer cannot reassign header tasks
- #60: feature: add opbnb networks' genesis
- #58: Merge upstream op-geth v1.101304.1
- #51: feat: sync pebble db from bsc
- #50: fix: fix task stuck and not reassign bug in concurrent-fetch logic
- #49: fix: ignore errors that caused by gap to keep peer connection
- #46: fix: prune uses the latest block height as the target by default
- ghcr.io/bnb-chain/op-geth:v0.3.0
https://github.com/bnb-chain/op-geth/compare/v0.2.2...v0.3.0
This is a minor release for opBNB Mainnet and Testnet. It primarily optimizes op-geth and introduces an option to re-announce remote transactions. Upgrading is optional.
- The startup node will default to using the bootnodes of the opBNB mainnet. If the
--networkid=
is configured as testnet, the testnet bootnodes will be used. If--bootnodes=
is configured, the specified bootnodes will be used. The configured--bootnodes=
take precedence over other options.#32 - Enable re-announce remote transactions by using the flag
--txpool.reannounceremotes=true
.#33
- #14: fix: add special logic to handle ancestor errors[BNB-3]
- #16: fix: wrong event log value
- #17: fix: cache data after successful writing[BNB-12]
- #19: fix: handle error in state_prefetcher.go and blockchain.go[BNB-16]
- #20: fix: refraining from using gopool for long-running tasks[BNB-19]
- #21: fix: remove redundant lock[BNB-20]
- #22: fix: remove unnecessary newRPCTransactionFromBlockHash function[BNB-21]
- #31: ci: fix blst error and unknown architecture
- #32: feature: add opBNB bootnodes
- #33: feat: add option to reannounce remote transactions
- #34: fix: clear underpriced buffer
- #41: txpool: enhance some logs and metrics on broadcasting and annoucing
- #43: chore: add reannounce metric for txpool
- #44: chore: impr/add some metrics txpool
- #45: feat: add TrieCommitInterval configuration, commit trie every TrieCommitInterval blocks
- ghcr.io/bnb-chain/op-geth:v0.2.2
https://github.com/bnb-chain/op-geth/compare/v0.2.1...v0.2.2
This is the Fermat Hardfork release for opBNB Mainnet. It will be activated at block height 9397477, expected to occur on November 28, 2023, at 6 AM UTC.
All mainnet nodes must upgrade to this release before the hardfork. Upgrading for other networks is optional.
NA
- #30: feat: add opbnb mainnet Fermat fork height
- ghcr.io/bnb-chain/op-geth:v0.2.1
https://github.com/bnb-chain/op-geth/compare/v0.2.0...v0.2.1
This is a hardfork release for the opBNB Testnet called Fermat. It will be activated at block height 12113000, expected to occur on November 3, 2023, at 6 AM UTC.
- Two new precompiled contracts have been introduced: blsSignatureVerify and cometBFTLightBlockValidate. The purpose of blsSignatureVerify is to verify BLS signatures in smart contracts, while cometBFTLightBlockValidate is designed to validate cometBFT light blocks. Although these contracts were primarily introduced to facilitate cross-chain communication between opBNB and Greenfield, they can also be utilized for other purposes. For instance, blsSignatureVerify can be employed to verify BLS signatures in smart contracts, and cometBFTLightBlockValidate can facilitate cross-chain communication with other blockchains based on the cosmos framework.(#7)
- Enable the layer 2 sync mechanism for opBNB by using the flag
--syncmode=snap
or--syncmode=full
to choose the sync mode. Make sure to enable thel2.engine-sync=true
flag on the op-node. (#8)
- #7: feat: add precompiled contracts for Greenfield link
- #8: feat: support snap sync for OP chains
- #11: fix: pass a SnapshotOption func when init a new pruner
- #24: snap: fix snap-tests to handle legacy code lookups
- #25: sec: update version of cometbft
- ghcr.io/bnb-chain/op-geth:v0.2.0
https://github.com/bnb-chain/op-geth/compare/v0.1.3...v0.2.0
This release adds the preDeployedContract hardfork, which changes the name and symbol of the preDeployed contract WBNB(0x4200000000000000000000000000000000000006). It also removes the preDeployed contract GovernanceToken(0x4200000000000000000000000000000000000042).
- ci: add docker release workflow to build and release docker image #3
- feat: add preDeployedContract hardfork #5
This is the initial release for opBNB Testnet.
The repo base is optimism op-geth.