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:
- Migrate "governor" validators (existing validators) who have opted in.
- Add any new validators specified in the allowlist.
- 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. Thekeyfield 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:
- Submit a PR with your JSON file to the
app/upgrades/mainnet/v1.1.0/validators/staking/directory immediately. - Warning: If this happens after the initial release, the team will have to issue a hotfix with the same version tag.
- 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).
- Wait for Block Height: Ensure your node is running and synced to the upgrade height.
- Stop Node: When the chain halts at the upgrade height, stop your
intentoservice. - Swap Binary: Replace the existing
intentobinary with the v1.1.0 binary.- If using Cosmovisor, place the new binary in
cosmovisor/upgrades/v1.1.0/bin/intento.
- If using Cosmovisor, place the new binary in
- 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:
- Check if your JSON file was correctly merged into the release.
- Verify your
valoperaddress matches the one in the JSON file. - Ensure you are not jailed before the upgrade.