Swisstronik v6 Testnet
Upgrade plan for v1.0.6
Upcoming v1.0.6 upgrade contains the following:
Upgrade EVM version to fix issues with incompatability with latest compiler versions
Disable unsafe
eth_sendTransaction
andeth_sign
endpoints by defaultBring support of custom errors in solidity
Return error correctly in
eth_call
Remove unused
eth_signTypedData
endpointMinor improvements
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.6.x86_64.so
lib:
Copy v1.0.6_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.6 at ExecStart
in your .service
file.
NOTE: swisstronikd
v1.0.6 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.6.x86_64.so
lib:
Copy v1.0.6_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.6 binaries
Copy swisstronik
v1.0.6 to $HOME/.swisstronik/cosmovisor/upgrades/v1.0.6/bin
NOTE: swisstronikd
v1.0.6 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