CryptoNodeID
  • Introduction
  • Basics
    • Server Preparation
    • Setting up DNS
    • Routing using NGINX
    • Setting up SSL
    • Security Setup
  • Advance
    • Proxmox Setup with 1 Public IP
  • Mainnet
    • Humanode
      • Installation
      • Node Activation
      • Monitoring
    • CrossFi
      • Endpoints and Sync
      • Installation
      • Validator Setup
      • Cheat Sheet
  • Testnet
    • Airchain
      • Endpoints and Sync
      • Installation
      • Validator Setup
    • Cortensor
      • Installation
      • Multiple Node Setup
        • VM Method
        • Docker Method
    • CrossFi
      • Endpoints and Sync
      • Installation
      • Validator Setup
      • Cheat Sheet
      • User ITN Guide
    • Empeiria
      • Endpoints and Sync
      • Installation
      • Validator Setup
      • Cheat Sheet
    • Ethereum and Arbitrum Sepolia
      • Installation
    • Symphony
      • Endpoints and Sync
      • Installation
      • Validator Setup
      • Cheat Sheet
    • NuLink
    • Shardeum
    • Warden Protocol
      • Endpoints and Sync
      • Installation
      • Validator Setup
      • Cheat Sheet
  • Supporting Tools
    • Cosmos Explorer
      • Installation
  • Archived
    • Galactica
      • Endpoints and Sync
      • Installation
    • Initia
      • Endpoints and Sync
      • Installation
    • Mantrachain
      • Endpoints and Sync
      • Installation
    • Side Protocol
      • Endpoints and Sync
      • Installation
    • Stratis EVM
Powered by GitBook
On this page
  • 📶Running a Validator
  • Set environment
  • Write env to .profile
  • Create Validator
  • Edit Validator
  • Unjail Validator
  • Halting Your Validator

Was this helpful?

  1. Mainnet
  2. CrossFi

Validator Setup

PreviousInstallationNextCheat Sheet

Last updated 1 year ago

Was this helpful?

📶Running a Validator

Set environment

export MONIKER="YOUR_NODE_NAME_HERE"
export WALLET="YOUR_WALLET_NAME_HERE"
export DETAILS="YOUR_NODE_INFORMATION_HERE"
export WEBSITE="YOUR_WEBSITE_HERE"
export DISPLAY_PIC="YOUR_KEYBASE_IMAGE_PGP"
export CONTACT="YOUR_CONTACT"

WEBSITE, DETAILS, DISPLAY_PIC and CONTACT are optional

for DISPLAY_PIC please refer to this :

Write env to .profile

echo 'export MONIKER=${MONIKER}' >> ~/.profile
echo 'export WALLET=${WALLET}' >> ~/.profile
echo 'export DETAILS=${DETAILS}' >> ~/.profile
echo 'export WEBSITE=${WEBSITE}' >> ~/.profile
echo 'export DISPLAY_PIC=${DISPLAY_PIC}' >> ~/.profile
echo 'export CONTACT=${CONTACT}' >> ~/.profile

source ~/.profile

This step is optional, but we recommend you to do it for convenience

Create Validator

You can create your validator by using command below :

crossfid --home ${DAEMON_HOME} tx staking create-validator \
  --amount=9900000000000000000000mpx \
  --pubkey=$(crossfid --home ${DAEMON_HOME} tendermint show-validator) \
  --moniker="${MONIKER}" \
  --identity=${DISPLAY_PIC} \
  --details="${DETAILS}" \
  --website="${WEBSITE}" \
  --security-contact="${CONTACT}" \
  --chain-id="mineplex-mainnet-1" \
  --commission-rate="0.10" \
  --commission-max-rate="0.20" \
  --commission-max-change-rate="0.01" \
  --min-self-delegation="1000000" \
  --gas="auto" \
  --gas-prices="10000000000000mpx" \
  --gas-adjustment=1.5 \
  --from=$WALLET

When specifying commission parameters, the commission-max-change-rate is used to measure % point change over the commission-rate. E.g. 1% to 2% is a 100% rate increase, but only 1 percentage point.

Edit Validator

You can edit your validator details using command below :

Before you continue, you can edit your environment variable, or you can edit manually

crossfid --home ${DAEMON_HOME} tx staking edit-validator
  --moniker="${MONIKER}" \
  --website="${WEBSITE}" \
  --identity=${DISPLAY_PIC} \
  --details="${DETAILS}" \
  --chain-id="mineplex-mainnet-1" \
  --gas="auto" \
  --gas-prices="10000000000000mpx" \
  --gas-adjustment=1.5 \
  --from=<key_name> \
  --commission-rate="0.10"

Unjail Validator

When a validator is "jailed" for downtime, you must submit an Unjail transaction from the operator account in order to be able to get block proposer rewards again (depends on the zone fee distribution).

crossfid tx slashing unjail \
 --from=${WALLET} \
 --chain-id="mineplex-mainnet-1"

Halting Your Validator

When attempting to perform routine maintenance or planning for an upcoming coordinated upgrade, it can be useful to have your validator systematically and gracefully halt. You can achieve this by either setting the halt-height to the height at which you want your node to shutdown or by passing the --halt-height flag to crossfid. The node will shutdown with a zero exit code at that given height after committing the block.

Get last block height

curl -sX GET "https://crossfi-testnet-api.cryptonode.id/cosmos/base/tendermint/v1beta1/blocks/latest" -H  "accept: application/json" | jq '.block.last_commit.height'

Halt Validator

crossfid start --halt-height HALT_HEIGHT

replace HALT_HEIGHT with number shown from result of Get last block height and add some (like 100 or 500)

It's possible that you won't have enough MPX to be part of the active set of validators in the beginning. Users are able to delegate to inactive validators (those outside of the active set) using the You can confirm that you are in the validator set by using a third party explorer like

Harmony Guide
XFI Console
XFI Scan.