Shibarium Cancun Hardfork
These release notes outline the latest changes on Bor and Heimdall.
Please perform the Heimdall update first with version 1.0.7-bone
. After completing the Heimdall update, proceed with the Bor update.
Heimdall
Shibarium Heimdall Upgrade to v1.0.7-bone
Heimdall’s latest version v1.0.7-bone has been released for Shibarium. This version ensures seamless operations in the post-Dencun environment.
Key Features
- Mandatory Upgrade for Dencun Hardfork:
- Validators on Shibarium must upgrade to v1.0.7 before the Dencun hardfork on Bor. This version ensures compatibility with Ethereum post-hardfork by updating the
bor
package to v1.3.7 , which can handle blob transactions introduced by Dencun.
- Validators on Shibarium must upgrade to v1.0.7 before the Dencun hardfork on Bor. This version ensures compatibility with Ethereum post-hardfork by updating the
- Bor Package Update:
- The
bor
dependency has been bumped to v1.3.7 to ensure that Heimdall can properly parse Ethereum Layer 1 blocks with blob transactions post-Dencun.
- The
- Documentation Enhancements:
- Added several README files for modules such as the
bor
,staking
,clerk
, andchainmanager
to improve developer understanding of the project structure and functionality. - Fixes for typos and updates to documentation improve the overall clarity.
- Added several README files for modules such as the
- Code Validation Improvements:
- Modified the
ValidateTxResult
function to accept single-transaction blocks as valid, aligning with Heimdall's current production.
- Modified the
- Dependency Upgrades:
- Dependencies such as
google.golang.org/grpc
andcosmos-sdk
were upgraded to ensure security and performance improvements.
- Dependencies such as
- Bug Fixes:
- Fixed several logging issues and service stop errors to ensure smooth operation of validator nodes.
Instructions to Upgrade
-
Stop the Heimdall Service
sudo service heimdalld stop
-
Install the New Version of Heimdall
Replace
<node_type>
with your node type (sentry, validator, or archive).curl -L https://raw.githubusercontent.com/shibaone/install/bone/heimdall.sh | bash -s -- v1.0.7-bone shibarium <node_type>
-
Verify the Installation
Check that the correct version is installed:
/usr/bin/heimdalld version
# The output should be ****v1.0.7-bone**** -
Restart the Heimdall Service
sudo systemctl start heimdalld.service
journalctl -u heimdalld.service -f
Bor
Shibarium Bor Upgrade to v1.3.7-bone and Cancun HF
Bor’s latest version v1.3.7-bone has been released, and Cancun HF has been scheduled for December 3rd at 4:30 AM UTC
, Block Number **8200512
** 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.
Key Features
- New Burn Contract: We are upgrading the burn contract to an upgradable version to support exciting future updates and enhancements. The new burn contract has been deployed at address
0x541F60e5576764cA3957f70b6a1E60f3CE5886e0
on block8200512
, playing a key role in the ecosystem's deflationary mechanics. - 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.
- 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 hardfork Cancun.
- 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.
The Shibarium Hardfork is scheduled for Tuesday at 4:30 AM UTC
, Block Number 8200512
. Ensure that your nodes are updated to v1.3.7-bone
before this hardfork to maintain compatibility and stability.
Instructions to Upgrade
-
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/bone/bor.sh | bash -s -- v1.3.7-bone shibarium <node_type>
-
Verify the Installation
Check that the correct version is installed:
/usr/bin/bor version
# The output should be **v1.3.7-bone** -
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://shibarium-bor-ethstat.shib.io/
- Secret : shibarium -
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.eth
# The output should include **"8200512" : ""**
By incorporating the new burn contract at block 8200512
, this release adds a significant feature that will help reduce the total token supply, providing additional value for holders. Make sure to complete the upgrade process before the hardfork to ensure full compatibility.