Update SOKOL to parity 2.6.4

Dear @poa-validators

latest parity versions introduce breaking changes for the spec.json file to account for upcoming Istanbul hardfork. Spec file of Sokol network is now updated to work with parity without Istanbul activation (yet).

We think it’s important to stay compatible with upstream parity, so we propose to update Sokol network (and later Core if no issues are discovered). This update is a little bit more involved than regular ones, because both spec.json file and parity should be updated at the same time. Please follow the steps below:

  1. ssh login to your node
  2. stop parity service
sudo systemctl stop poa-parity
  1. switch to home directory (NOTE: if you’re updating a bootnode, path is /home/bootnode)
cd /home/validator

output should be

  1. remove older backups
sudo rm -rf backups-version
  1. create a new backup
sudo mkdir backups-version
sudo touch backups-version/BEFORE-2.6.4
BKPFLDR="backups-version/$(date '+%Y%m%dT%H%M%S' -u)"
sudo mkdir -p "$BKPFLDR"
sudo mv parity spec.json "$BKPFLDR"
  1. switch to validator user (NOTE: if you’re updating a bootnode, username should be bootnode)
sudo -i -u validator
  1. download new parity binary
curl -LO 'https://releases.parity.io/ethereum/v2.6.4/x86_64-unknown-linux-gnu/parity'
  1. check binary integrity
echo '1b5fb1a33eba1f4549d7b33a1e8eba049c98fd1f45b901573ed72623cede05ea parity' | sha256sum -c

output should be

parity: OK
  1. set permission to execute the binary
chmod +x parity
  1. download new spec file
curl -LO 'https://raw.githubusercontent.com/poanetwork/poa-chain-spec/sokol/spec.json'
  1. check that new spec contains eip1108 activation block set to far future
grep eip1108 spec.json

output should be

        "eip1108_transition": "0x7fffffffffffff",
        "eip1108_transition": "0x7fffffffffffff",
        "eip1108_transition": "0x7fffffffffffff",
            "eip1108_transition_base": 45000,
            "eip1108_transition_pair": 34000
  1. login back to sudo-enabled user
  1. restart services
sudo systemctl start poa-parity && sleep 10 && sudo systemctl restart poa-netstats
  1. check that your node is “green” in netstats https://sokol-netstat.poa.network (this may take a couple of minutes)
  2. wait to see if your node produces new blocks https://blockscout.com/poa/sokol

Update to 2.6.5 instead https://forum.poa.network/t/istanbul-activation-on-sokol/