Bor 1.3.7 and Cancun hardfork
Please perform the Heimdall update first with version 1.0.7-bone-beta
. After completing the Heimdall update, proceed with the Bor update.
Bor’s latest version v1.3.7-bone-beta-2 has been released, and Cancun HF has been scheduled for Block Number 4697000
, brings together critical updates and improvements. This release focuses on enhanced performance, security, and blockchain management, incorporating essential upstream merges from Geth. It is a key update for maintaining node stability and efficiency. Ensure that your nodes are updated to v1.3.7-bone-beta-2
before this hard fork to maintain compatibility and stability.
Major Features and Enhancements:
- Geth Upstream Merges: Regularly integrated updates from Geth (up to v1.13.6), ensuring compatibility with the latest Ethereum features and fixes, such as improved block propagation, peering issues, and optimized EVM execution.
- POS Bridge Integration: Multiple updates related to the POS (Proof-of-Stake) bridge, enhancing functionality and stability for cross-chain operations.
- Deterministic Fork Choice: Made the legacy Geth fork choice deterministic, enhancing consistency in blockchain state selection.
- Gas Price and Performance Improvements:
- Enforced minimum gas price (1 gwei) across all networks, improving transaction reliability.
- Optimized gas fee handling and EVM execution for better performance.
- Added caching flags (
FilterLogCacheSize
) to optimize block log management.
- Pruning and Disk Space Management:
- Introduced ancient block pruning , allowing historical block data to be removed, freeing disk space but limiting RPC queries for older blocks.
- Fixed bugs related to pruning and optimized the handling of block headers, bodies, and receipts.
- Security Enhancements: Addressed security vulnerabilities by frequently updating dependencies, fixing issues like concurrent map writes, and improving error handling and logging mechanisms.
- Improved CLI and Command Help: Enhanced the Bor command-line interface (
bor server --help
) and provided better documentation and command descriptions for ease of use. - Blockchain Hardfork Consistency:
- Integrated configurations for Cancun hardfork.
- Removed and re-added precompile components as needed.
- Codebase and CI/CD Enhancements:
- Regularly updated build dependencies (including
gnark-crypto
). - Improved continuous integration workflows, including Go installation for CodeQL.
- Enhanced testing frameworks with unit tests for config flags.
- Regularly updated build dependencies (including
- Transaction Handling and State Management:
- Enabled unprotected transactions.
- Fixed issues with
GetTransactionReceiptsByBlock
and other state API methods. - Enhanced peer validation during block downloads and bypassed peer checks for distant peers.
- Miscellaneous Changes:
- Fixed numerous typos, corrected bugs, and improved comments throughout the codebase.
- Added peer statistics tracking (
debug.peerStats
). - Improved support for Docker integration and testing environments.
Upgrade instructions
-
Stop the Bor Service
sudo service bor stop
-
Install the New Version of Bor
Replace
<node_type>
with your node type (sentry, validator, or archive).curl -L https://raw.githubusercontent.com/shibaone/install/puppynet/bor.sh | bash -s -- v1.3.7-bone-beta-2 puppynet <node_type>
-
Verify the Installation
Check that the correct version is installed:
/usr/bin/bor version
The output should be v1.3.7-bone-beta.
-
Change Bor config for gas price —
/var/lib/bor/config.toml
vi /var/lib/bor/config.toml
Uncomment and change following values :-
#txpool section
pricelimit = 1000000000
#miner section
gasprice = "1000000000"
#gpo section
ignoreprice = "1000000000" -
** FOR RPC ** - Change Bor config for txlookuplimit -
/var/lib/bor/config.toml
vi /var/lib/bor/config.toml
Uncomment:-
#[cache]
#txlookuplimit = 0
[cache]
# cache = 4096
# gc = 25
# snapshot = 10
# database = 50
# trie = 15
# journal = "triecache"
# rejournal = "1h0m0s"
# noprefetch = false
# preimages = false
txlookuplimit = 0
# timeout = "1h0m0s"
# fdlimit = 0 -
Update Bor Ethstat URL: Open and edit
/var/lib/bor/config.toml
vi /var/lib/bor/config.toml
ethstats = "<node>:[email protected]"
- New URL: https://puppynet-bor-ethstat.shib.io/
- Secret : testnet -
Restart the Bor Service
sudo systemctl daemon-reload
sudo service bor start
sudo journalctl -u bor.service -f -
Confirm Hardfork Block Details
Verify the Hardfork block number:
cd /var/lib/bor
bor attach bor.ipc
admin.nodeInfo.protocols.ethThe output should include "4697000" : ""