Chainspec update for Berlin Hardfork

What

Description

What

Description

Purpose

Documentation to update chainspec of Volta and EnergyWebChain for Berlin Hardfork

Creator, date

@Kiran Roy ​​, 04.06.2021

Reviewer, date

@Kamil Witkowski @Adam Nagy@Sam Hartnett

Owner

@Kiran Roy

Version, date

v2.0, 24.06.2021

Berlin Hardfork Overview

Ethereum mainnet upgraded Berlin Hardfork on 15th April, 2021.

Berlin EIPs

More details of Berlin upgrade can be found here - Ethereum Berlin Upgrade

Voted

Energy Web Chain (EWC) validators voted to implement the Berlin hardfork to enhance performance, and security and to ensure the Volta testnet and EWC production networks continue to align with state-of-the-art functionality of the Ethereum main net.

In preparation for the Berlin hardfork, all Volta validator nodes and EWC validator nodes have been updated to OpenEthereum v3.2.5 and updates to the respective chainspec files will commence - TBU

Volta Chainspec

VOLTA chainspec details (current as of 23’rd June, 2021):

1 2 Checksum: 1b7b18fb240a11f3d63180d59533a7f449dc936a30ec9c802d704392463f6925 URL: https://raw.githubusercontent.com/energywebfoundation/ewf-chainspec/master/Volta.json

EnergyWebChain Chainspec

EnergyWebChain (EWC) chainspec details (current as of 6'th July, 2021):

1 2 Checksum: 62dcf976575c9690b130898c6b085b47023fbb7a21cfe03d419bf234a7452451 URL: https://raw.githubusercontent.com/energywebfoundation/ewf-chainspec/master/EnergyWebChain.json

How to Update Chainspec

  • SSH into server

  • Make sure you have root access: sudo -s

  • Stop containers

    • 1 2 cd $HOME/docker-stack/ docker-compose stop
  • cd $HOME/docker-stack/config/

  • Create a backup of chainspec.json

    • mv chainspec.json chainspec.json_bkp

  • Download new chainspec.json from the link above - wget -O chainspec.json URL (capital “O”)

  • Calculate the checksum of chainspec.json file:

    • openssl dgst -sha256 chainspec.json

  • Verify whether checksum matches what's listed on this page (above) and GitHub - ewf-chainspec

  • If checksum verification is OK, restart Docker containers:

    • cd $HOME/docker-stack

    • docker-compose restart

  • Verify docker containers are running again:

    • docker-compose ps

  • Check logs:

    • docker-compose logs -f --tail 100 parity

    • docker-compose logs -f --tail 100 parity-telemetry

      • Log output of parity-telemetry container

      • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 parity-telemetry_1 | [INFO] Got new Block: 12127696 parity-telemetry_1 | [INFO] Got new Block: 12127723 parity-telemetry_1 | [INFO] Got new Block: 12127748 parity-telemetry_1 | [INFO] Got new Block: 12127765 parity-telemetry_1 | [INFO] Got new Block: 12127786 parity-telemetry_1 | [INFO] Got new Block: 12127807 parity-telemetry_1 | [INFO] Got new Block: 12127825 parity-telemetry_1 | [INFO] Got new Block: 12127835 parity-telemetry_1 | [INFO] Got new Block: 12127856 parity-telemetry_1 | [INFO] Got new Block: 12127861 parity-telemetry_1 | [INFO] Got new Block: 12127867 parity-telemetry_1 | [INFO] Got new Block: 12127889 parity-telemetry_1 | [INFO] Got new Block: 12127897 parity-telemetry_1 | [INFO] Got new Block: 12127916 parity-telemetry_1 | [INFO] Got new Block: 12127938 parity-telemetry_1 | [INFO] Got new Block: 12127954 parity-telemetry_1 | [INFO] Got new Block: 12127975 parity-telemetry_1 | [INFO] Got new Block: 12128003 parity-telemetry_1 | [INFO] Got new Block: 12128024 parity-telemetry_1 | [INFO] Got new Block: 12128040 parity-telemetry_1 | [INFO] Got new Block: 12128047 parity-telemetry_1 | [INFO] Got new Block: 12128062 parity-telemetry_1 | [INFO] Got new Block: 12128071 parity-telemetry_1 | [INFO] Got new Block: 12128085 parity-telemetry_1 | [INFO] Got new Block: 12128106