Skip to main content

Bone-beta-2

This release contains a new version of Bor - v1.1.0-bone-beta-2 a set of 3 hardforks: Delhi HF, Indore HF, and Shanghai HF. The hardfork will be expected on 3rd APR 2024 around 3 PM IST.

From the block number 1891840 onwards Delhi HF, Indore HF, Shanghai HF will be activated introducing major improvements, State sync Confirmations and Ethereum Shanghai features.

Here is a short description of what these forks mean to the network:

Delhi Hardfork

The Delhi hardfork proposes a change in the Base Fee Change Denominator, aiming at improving the network UX.

The change in the Base Fee Charge Denominator from the value of 8 to 16 acts as a solution to the gas price spikes due to the rapid increase in the base fee. A user’s transaction becomes ineligible due to the high gas price and when the baseFee starts climbing, the transaction is stuck in pending till the baseFee comes back down and the transaction becomes eligible.

Indore Hardfork

Indore Hardfork introduces a Time-Based StateSync Confirmations Delay parameter. This feature was created to fix the statesync confirmations issue in Bor, by defining the number of seconds subtracted from the current block’s timestamp to calculate the value of to, while fetching the statesync events from Heimdall.

Instead of taking the timestamp of a block in the past, the timestamp of the current block is taken, subtracting 128 seconds from it. This way, the value of to will remain consistent across the network (as it's now self-contained in the chain itself), even in the case of a reorg. The current block will be the one that is imported, therefore returning the same value of to, resulting in the same statesync transactions returned from Heimdall.

Shanghai Hardfork

The introduction of the Shanghai hardfork targets the activation of the Ethereum Shanghai upgrade features, enabling the following Ethereum Improvement Proposals: EIP-3651: Warm COINBASE, EIP-3855: PUSH0 instruction, EIP-3860: Limit and meter initcode and EIP-6049: Deprecate SELFDESTRUCT.

It also introduces more visibility of state-sync transactions, by adding event emission in the state-receiver genesis contract on the PoS network which can give information on the success of the execution of the stateIDs in a state-sync transaction.

Upgrade instructions

  1. Stop bor service

    sudo service bor stop
  2. Install Bor with a version tag, network name (puppynet), and node type (sentry, validator, or archive).

    # Replace the node type
    curl -L <https://raw.githubusercontent.com/shibaone/install/puppynet/bor.sh> | bash -s -- v1.1.0-bone-beta-2 puppynet <node_type>
  3. Check bor version

    /usr/bin/bor version
    # It should print# v1.1.0-bone-beta-2
  4. Check Hardfork Block details

    cd /var/lib/bor
    bor attach bor.ipc
    admin.nodeInfo.protocols.eth.config.bor

    # It should print "1891840**" : ""**
  5. Restart bor service

    sudo service bor start sudo journalctl -u bor.service -f