Swisstronik v7 Testnet

Upgrade plan for v1.0.7

Upcoming v1.0.7 upgrade contains the following:

  • Update x/compliance module for ZK-SDI

  • Add MsgConvertCredential to convert V1 (non-ZK) credentials to ZK-SDI format

  • Add MsgAttachHolderPublicKey to set holder public key during conversion to ZK format

  • Add migration for seamless deploy of Arachnid Deterministic Proxy

  • Update compliance precompile at address(1028) to support V2 credentials

  • Minor bug fixes

Important notes

If you're already downloaded binaries, you can just replace swisstronikdbinary with new one. libsgx_wrapper_v1.0.7.x86_64.soand v1.0.7_enclave.signed.socan be the same.

Backup

Prior to the upgrade, validators are encouraged to take a full data snapshot. Snapshotting depends heavily on infrastructure, but generally this can be done by backing up the .swisstronik directory. If you use Cosmovisor to upgrade, by default, Cosmovisor will backup your data upon upgrade. See below upgrade by cosmovisor section.

It is critically important for validator operators to back-up the .swisstronik/data/priv_validator_state.json file after stopping the swisstronikd process. This file is updated every block as your validator participates in consensus rounds. It is a critical file needed to prevent double-signing, in case the upgrade fails and the previous chain needs to be restarted.

Manually

If you're not using cosmovisor, you can perform the upgrade manually.

Prepare new binary

Download new binary:

Extract downloaded archive:

In bin folder you will be able to find required files.

Copy libsgx_wrapper_v1.0.7.x86_64.so lib:

Copy v1.0.7_enclave.signed.so to ENCLAVE_HOME directory (by default it is $HOME/.swisstronik-enclave):

DURING UPGRADE: Modify your .service file

Once your validator reach upgrade height, it will stop produce new blocks automatically. After your node stopped, switch the binary you're using to swisstronikd v1.0.7 at ExecStart in your .service file.

NOTE: swisstronikd v1.0.7 is located in bin folder from previous step with unpacking .zip archive.

Then run:

Then you should restart your validator

Using cosmovisor

If you're running your node using cosmovisor, please follow next steps.

Download binaries

Download new binary:

Extract downloaded archive:

In bin folder you will be able to find required files.

Copy libsgx_wrapper_v1.0.7.x86_64.so lib:

Copy v1.0.7_enclave.signed.so to ENCLAVE_HOME directory (by default it is $HOME/.swisstronik-enclave):

Setup cosmovisor

If you haven't configured cosmovisor before, do the following steps.

Install the latest version of Cosmovisor (1.5.0):

Copy old swisstronikd binary:

Initialize cosmovisor:

Put v1.0.7 binaries

Copy swisstronikd v1.0.7 to $HOME/.swisstronik/cosmovisor/upgrades/v1.0.7/bin

NOTE: swisstronikd v1.0.7 is located in bin folder from previous step with unpacking .zip archive.

Check folder structure

At this moment, you should have the following structure:

Export the environmental variables:

Disable auto downloading of binaries

Set DAEMON_ALLOW_DOWNLOAD_BINARIES to false to avoid cosmovisor trying to download binaries.

Start the node

Start the node:

Skipping the invariant checks is strongly encouraged since it decreases the upgrade time significantly and since there are some other improvements coming to the crisis module in the next release of the Cosmos SDK.

Last updated