Appearance
Operating a node
Day-to-day operation of a KriptoNyx validator, and the failure modes that matter.
Jailing and recovery
Miss too many blocks and you are jailed: you stop signing and stop earning. After fixing the cause:
bash
kriptonyxd tx slashing unjail --from validator \
--chain-id kriptonyx_3009-1 --home "$KNYX_HOME"Unjailing before the cause is fixed simply gets you jailed again. Confirm the node is synced and signing first — see step 9.
Double-signing
Never run two nodes with the same priv_validator_key.json
Both will sign the same height with the same key. That is double-signing — the one fault that is slashed hard and permanently jails the validator.
If you rebuild a node, destroy the old key first. Do not keep a "backup node" running with a copy of the key.
This is the single most expensive mistake a validator can make, and it is usually made by someone trying to be careful about availability.
Unbonding takes 21 days
Stake withdrawn is illiquid for the full period, and you remain slashable during it for faults committed earlier. Plan exits ahead.
Backups
| File | What it is |
|---|---|
config/priv_validator_key.json | Your consensus identity. Losing it ends the validator; leaking it enables double-signing |
config/node_key.json | Your P2P identity |
| Wallet mnemonic | Access to the staked funds |
Keep the validator key offline except on the signing machine.
A backup you restore carelessly becomes a double-sign
Restoring priv_validator_key.json onto a second machine while the first is still running is exactly the fault above. Restore only after confirming the original node is permanently stopped.
Upgrades
bash
# replace the binary, then
sudo systemctl restart kriptonyx
journalctl -u kriptonyx -fWatch the logs across the first blocks after restart. A node that restarts into a consensus failure will not recover on its own.
Monitoring
At minimum, alert on:
| Signal | Check |
|---|---|
| Node liveness | systemctl is-active kriptonyx |
| Sync state | catching_up from /status — should stay false |
| Height advancing | latest_block_height must increase |
| Signing | The five-block check from step 9 |
| Voting power | Non-zero, and unchanged |
| Disk | Chain data grows continuously |
bash
curl -s localhost:26657/status | jq '{
height: .result.sync_info.latest_block_height,
catching_up: .result.sync_info.catching_up,
power: .result.validator_info.voting_power
}'A node can be running, synced and still not signing. Check signing specifically — the other three signals will all look healthy while you are being jailed.
Common problems
| Symptom | Likely cause |
|---|---|
Synced, voting_power: "0" | Not bonded — insufficient stake, or jailed |
| No peers | external_address wrong, or 26656 not reachable |
| Height not advancing | Lost peers, or the node is stuck — check logs |
| Restart loop | Consensus failure or corrupt data; the logs name the height |
| Slow sync | I/O bound. An SSD is not optional |