IOTA Validator CLI
The IOTA CLI validator
command provides command-level access to validator features of the IOTA network.
Commands
Typing iota validator --help
into your terminal or console displays the following information on available commands.
A tool for validators and validator candidates
Usage: iota validator [OPTIONS] [COMMAND]
Commands:
make-validator-info Generate a `validator.info` file and 4 key pair files (account, network, authority, protocol)
become-candidate Submit an on-chain transaction to become a validator candidate. The parameter is the file path to the `validator.info` generated by `MakeValidatorInfo`
join-validators Once you collect enough staking amount, run this command to become an active validator. It will become active and eligible to join the committee starting from next epoch
leave-validators Leave active validators (and possibly the committee) starting with the next epoch
display-metadata Display metadata about the validator
update-metadata Update the validator metadata
report-validator Report or un-report a validator as bad or non-performant
serialize-payload-pop Serialize the payload that is used to generate Proof of Possession. This is useful to take the payload offline for an Authority protocol keypair to sign
register-bridge-committee IOTA native bridge committee member registration
update-bridge-committee-node-url Update IOTA native bridge committee node url
list Get a list of the validators in the network. Use the `display-metadata` command to see the complete data for a validator
help Print this message or the help of the given subcommand(s)
Options:
--client.config <CONFIG> Sets the file storing the state of our user accounts (an empty one will be created if missing)
--json Return command outputs in json format
-y, --yes
-h, --help Print help
Examples
The following examples demonstrate some of the most often used commands.
Display the validator information
$ iota validator display-metadata 0x8359fff1dc629bad933cf1781564a6d98a7277ac391e70bd0af7e050b3927573 --json true
Toggle output
0x8359fff1dc629bad933cf1781564a6d98a7277ac391e70bd0af7e050b3927573's validator status: Active
{
"iotaAddress": "0x8359fff1dc629bad933cf1781564a6d98a7277ac391e70bd0af7e050b3927573",
"authorityPubkeyBytes": "lUhBLNuc6bosReVt+jv+BXZboiOjZQyT5tfJbMS1StEyBmPmF7TTuGl2vy/S8zKWGSEbPKPapz46phPZgFRy7TjXEdt6XjBHf/bkEg1atucEzAMPT/6cIx2G5We7wlXK",
"networkPubkeyBytes": "1JiYHZHJFtuxim7woWhPGdBIe4QPoyvLVgpCRRZwUWg=",
"protocolPubkeyBytes": "XhjH8q+isy4LP4GS1txLJYl+KQ9kV7b5dnu6C2x4XIk=",
"proofOfPossessionBytes": "ovRMD5206HPBOoTfx+TgB5NXIKpbra4AuJRVGFSaaFbP2hAAZBDWpP1OD0Nyackf",
"name": "validator-2.r.iota-rebased-testnet",
"description": "validator-2.r.iota-rebased-testnet",
"imageUrl": "",
"projectUrl": "",
"netAddress": "/dns/validator-2.r.iota-rebased-testnet.iota.cafe/tcp/8080/http",
"p2pAddress": "/dns/validator-2.r.iota-rebased-testnet.iota.cafe/udp/8084",
"primaryAddress": "/dns/validator-2.r.iota-rebased-testnet.iota.cafe/udp/8081",
"nextEpochAuthorityPubkeyBytes": null,
"nextEpochProofOfPossession": null,
"nextEpochNetworkPubkeyBytes": null,
"nextEpochProtocolPubkeyBytes": null,
"nextEpochNetAddress": null,
"nextEpochP2pAddress": null,
"nextEpochPrimaryAddress": null,
"votingPower": "2500",
"operationCapId": "0xa88b6ac306932c77f7bc228690c35104ab8b4cd4a174ace5296d01581ae4f2d5",
"gasPrice": "1000",
"commissionRate": "200",
"nextEpochStake": "2958750000000000",
"nextEpochGasPrice": "1000",
"nextEpochCommissionRate": "200",
"stakingPoolId": "0x4fb963ec2cb115ae2e13818e38f71d3ec8c6c2b892000fe6c119bf518b9b1a85",
"stakingPoolActivationEpoch": "0",
"stakingPoolDeactivationEpoch": null,
"stakingPoolIotaBalance": "2958750000000000",
"rewardsPool": "939575000000000",
"poolTokenBalance": "2015128472804164",
"pendingStake": "0",
"pendingTotalIotaWithdraw": "0",
"pendingPoolTokenWithdraw": "0",
"exchangeRatesId": "0x456fd6d5a041d8c5de2998b4bf8a0cff2217132ae5de0c7017975fa82470ed43",
"exchangeRatesSize": "6"
}
Update validator metadata
iota validator update-metadata <key> <new-value>
iota validator update-metadata name new-validator-name
Toggle output
----- Transaction Digest ----
HyVwvTSdHVFibs3du6S89mQ5kNC6FvaMeczAPguNYjss
----- Transaction Data ----
╭─────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Transaction Data │
├─────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Sender: 0x111111111504e9350e635d65cd38ccd2c029434c6a3a480d8947a9ba6a15b215 │
│ Gas Owner: 0x111111111504e9350e635d65cd38ccd2c029434c6a3a480d8947a9ba6a15b215 │
│ Gas Budget: 200000000 NANOS │
│ Gas Price: 1000 NANOS │
│ Gas Payment: │
│ ┌── │