Skip to main content

Shibarium Cancun Hardfork

These release notes outline the latest changes on Bor and Heimdall.

caution

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.
  • 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.
  • Documentation Enhancements:
    • Added several README files for modules such as the bor, staking, clerk, and chainmanager to improve developer understanding of the project structure and functionality.
    • Fixes for typos and updates to documentation improve the overall clarity.
  • Code Validation Improvements:
    • Modified the ValidateTxResult function to accept single-transaction blocks as valid, aligning with Heimdall's current production.
  • Dependency Upgrades:
    • Dependencies such as google.golang.org/grpc and cosmos-sdk were upgraded to ensure security and performance improvements.
  • Bug Fixes:
    • Fixed several logging issues and service stop errors to ensure smooth operation of validator nodes.

Instructions to Upgrade

  1. Stop the Heimdall Service

    sudo service heimdalld stop
  2. 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>
  3. Verify the Installation

    Check that the correct version is installed:

    /usr/bin/heimdalld version

    # The output should be ****v1.0.7-bone****
  4. 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

  1. 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 block 8200512, playing a key role in the ecosystem's deflationary mechanics.
  2. 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.
  3. POS Bridge Integration: Multiple updates related to the POS (Proof-of-Stake) bridge, enhancing functionality and stability for cross-chain operations.
  4. Deterministic Fork Choice: Made the legacy Geth fork choice deterministic, enhancing consistency in blockchain state selection.
  5. 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.
  6. Security Enhancements: Addressed security vulnerabilities by frequently updating dependencies, fixing issues like concurrent map writes, and improving error handling and logging mechanisms.
  7. 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.
  8. Blockchain Hardfork Consistency:
    • Integrated configurations for hardfork Cancun.
    • Removed and re-added precompile components as needed.
  9. 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.
  10. 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.
  11. 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.
caution

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

  1. Stop the Bor Service

    sudo service bor stop

  2. 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>

  3. Verify the Installation

    Check that the correct version is installed:

    /usr/bin/bor version

    # The output should be **v1.3.7-bone**

  4. 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

  5. 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

  6. Restart the Bor Service

    sudo systemctl daemon-reload
    sudo service bor start
    sudo journalctl -u bor.service -f

  7. 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.