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.