For the complete documentation index, see llms.txt. This page is also available as Markdown.

Upgrade

Upgrade Nolus safely and confirm the node resumes syncing.

Mainnet · pirin-1

This procedure uses the direct nolusd.service created by our installation guide. If your service uses Cosmovisor, stage the binary under the exact on-chain upgrade plan name instead of replacing its symlink.

Check the service

Confirm its executable and home before changing anything.

systemctl cat nolusd

Check the upgrade plan

Read any scheduled on-chain upgrade.

nolusd query upgrade plan -o json

Prepare the new binary

Use the binary download/build steps in Installation, but stage the result as $HOME/nolusd.next and do not install it over the running executable yet. Select the release announced for pirin-1.

Create an upgrade checkout

Use a new directory and the intended release tag.

git clone --branch v0.8.4 --depth 1 https://github.com/nolus-protocol/nolus-core.git "$HOME/nolus-upgrade-v0.8.4"

Open the checkout

Build from the release source.

Build into a staging directory

GOBIN keeps the service executable unchanged.

Stage the result

Use a predictable path for the replacement.

If the release changes WasmVM, install its matching runtime library using the module lookup in Installation and run sudo ldconfig before starting the new binary.

Make executable

Allow checking the staged binary.

Check the staged version

Resolve missing libraries or a wrong release before downtime.

Stop at the correct time

Stop the one active signer before switching binaries.

Back up configuration and signing state

Keep the signing state from this stopped node. Store a full stopped database backup as well if the release requires one.

Keep the previous binary

Retain a copy for diagnostics; database migrations may prevent a simple binary rollback.

Replace the binary

Install the staged executable.

Start

Start the node with the upgraded binary.

Inspect logs

Check for migration errors and advancing heights.

Confirm sync

Check height and catching_up after the node recovers.

Release history.

Last updated