Skip to main content

Upgrade to v1.1.0

This guide outlines the process for validators upgrading to Intento v1.1.0. This upgrade introduces a major change in how validators are handled, transitioning from Interchain Security (ICS) to a sovereign validator set.

Overview

The v1.1.0 upgrade creates the sovereign validator set for the Intento chain. Existing validators participate in this migration through an opt-in process managed via an on-chain allowlist.

During the upgrade, the DeICS logic will execute:

  1. Migrate "governor" validators (existing validators) who have opted in.
  2. Add any new validators specified in the allowlist.
  3. Remove ICS validators.

Prerequisites

To be included in the sovereign validator set after the upgrade, you MUST submit a Pull Request to the Intento repository adding your validator details to the allowlist.

1. Create Validator Configuration

Create a JSON file named with your moniker (e.g., validator-name.json) containing your validator information.

File Path: app/upgrades/mainnet/v1.1.0/validators/staking/<your-file>.json

JSON Format:

{
"valoper": "intovaloper1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqgh6c8w",
"pk": {
"key": "LwF7IN7YFooTAmQqXyhjfbjjI3szsWu/LduYn5jPhXs="
},
"moniker": "MyValidator",
"website": "https://my-validator.com",
"identity": "optional-keybase-id",
"security_contact": "optional-email",
"details": "optional-details"
}
  • valoper: Your validator operator address (intovaloper...).
  • pk: Your consensus public key. The key field should be the base64 encoded public key (ED25519).
  • moniker: Your validator's name.

2. Submit Pull Request

2. Check Inclusion & Submit Pull Request

The team will populate the allowlist with all validators known to be ready.

Crucial Step: Check the app/upgrades/mainnet/v1.1.0/validators/staking/ directory in the release candidate to ensure your JSON file is present and correct.

If you are NOT included:

  1. Submit a PR with your JSON file to the app/upgrades/mainnet/v1.1.0/validators/staking/ directory immediately.
  2. Warning: If this happens after the initial release, the team will have to issue a hotfix with the same version tag.
  3. You (and all other validators) will then need to rebuild from the updated tag to ensure your validator is included in the underlying consensus logic. This is not ideal, so please verify your inclusion as early as possible.

Upgrade Procedure

The upgrade will occur at a specific block height (to be announced).

  1. Wait for Block Height: Ensure your node is running and synced to the upgrade height.
  2. Stop Node: When the chain halts at the upgrade height, stop your intento service.
  3. Swap Binary: Replace the existing intento binary with the v1.1.0 binary.
    • If using Cosmovisor, place the new binary in cosmovisor/upgrades/v1.1.0/bin/intento.
  4. Restart Node: Start your node.
    systemctl start intento
    # or
    intento start

Verification

After the upgrade, verify your validator status:

intento query staking validator $(intento keys show <key-name> --bech val -a)

You should see your validator with status BOND_STATUS_BONDED.

Troubleshooting

If your validator was not migrated:

  1. Check if your JSON file was correctly merged into the release.
  2. Verify your valoper address matches the one in the JSON file.
  3. Ensure you are not jailed before the upgrade.