Denali (SKALEVERSE V2) V2 Upgrade

1. Upgrade SGXWallet

Switch to run_sgx directory

cd run_sgx

Pull new container

First pull new sgxwallet container using: docker pull skalenetwork/sgxwallet_release:1.83.0-stable.1

Stop sgx server

docker-compose stop

Update SGXWallet container version

In docker-compose.yml change image field to skalenetwork/sgxwallet_release:1.83.0-stable.1

Double check that your docker-compose.yml file begins and includes the ports listed here:

version: '3'
services:
  sgxwallet:
    image: skalenetwork/sgxwallet_release:1.83.0-stable.1
    ports:
      - "1026:1026"
      - "1027:1027"
      - "1028:1028"
      - "1029:1029"
      - "1031:1031"
    volumes:
      - ./sgx_data:/usr/src/sdk/sgx_data
      -  /dev/urandom:/dev/random
    command: -s -y -d -b
[...rest of yml omitted...]
Make sure command attribute contains -b option and your backup key is placed in sgx_data/sgxwallet_backup_key.txt file.

Recreate SGXWallet container

docker-compose up -d

2. Install SKALE Node CLI

Download the SKALE Node CLI binary

Make sure VERSION_NUM is 2.1.0

VERSION_NUM=[VERSION_NUM] && sudo -E bash -c "curl -L https://github.com/skalenetwork/skale-node-cli/releases/download/$VERSION_NUM/skale-$VERSION_NUM-`uname -s`-`uname -m` >  /usr/local/bin/skale"

Make the SKALE Node CLI binary executable

sudo chmod +x /usr/local/bin/skale

3. Update node using skale node update

Compliance requirements will be checked during upgrade.

Change directory

cd  ~ && vi .env

Update .env

Make sure the following options are set

CONTAINER_CONFIGS_STREAM=2.1.8
MANAGER_CONTRACTS_ABI_URL=https://raw.githubusercontent.com/skalenetwork/skale-network/master/releases/mainnet/skale-manager/1.9.0/skale-manager-1.9.0-mainnet-abi.json
IMA_CONTRACTS_ABI_URL=https://raw.githubusercontent.com/skalenetwork/skale-network/master/releases/mainnet/IMA/1.3.0/mainnet/abi.json
DOCKER_LVMPY_STREAM=1.0.2-stable.0

Perform update

Run skale node update:

skale node update .env
If upgrade fails with Host is not fully meet the requirements please visit Compliance requirements. You can always rerun compliance checks by executing:
skale node check