Register a new validator on the network.
Requirements:
- Minimum stake to join register validator: 100,000 MON
- Valid SECP256k1 private key (64 hex chars, WITHOUT 0x prefix)
- Valid BLS private key (64 hex chars, WITH 0x prefix)
- Make sure the
auth-addressis an address you control and intend to perform validator operations with. This can be the same as the funded address. You can provide another address here to decouple staking and operations.
python main.py add-validator \
--secp-privkey "{{ VALIDATOR PRIVATE SECP KEY }}" \
--bls-privkey "{{ VALIDATOR PRIVATE BLS KEY }}" \
--auth-address "{{ AN ADDRESS THAT YOU CONTROL }}" \
--amount 100000 \
--config-path ~/config.tomlExpected Output:
INFO SECP Pubkey: 02a1b2c3d4e5f6789...
INFO BLS Pubkey: b1a2b3c4d5e6f789...
INFO Tx status: 1
INFO Tx hash: 0x1234567890abcdef...Delegate MON tokens to a validator.
python main.py delegate \
--validator-id 1 \
--amount 1000 \
--config-path ~/config.tomlExpected Output:
INFO Tx status: 1
INFO Tx hash: 0xabcdef1234567890...Create a withdrawal request to undelegate tokens.
python main.py undelegate \
--validator-id 1 \
--withdrawal-id 0 \
--amount 500 \
--config-path ~/config.tomlWithdraw tokens from a completed undelegation request.
python main.py withdraw \
--validator-id 1 \
--withdrawal-id 0 \
--config-path ~/config.tomlNote: Withdrawals can only be processed after the required waiting period (typically 2 epochs).
Claim accumulated staking rewards.
python main.py claim-rewards \
--validator-id 1 \
--config-path ~/config.tomlAutomatically restake rewards as additional delegation.
python main.py compound-rewards \
--validator-id 1 \
--config-path ~/config.tomlUpdate the commission for a Validator. Commission is specified as percentage (0.0 to 100.0).
python main.py change-commission \
--validator-id 1 \
--commission 5.0 \
--config-path ~/config.tomlExpected Output:
INFO Validator ID: 1
INFO Current commission: 10.0%
INFO New commission: 5.0%
INFO Tx status: 1
INFO Tx hash: 0xabcdef1234567890...
INFO Commission successfully changed from 10.0% to 5.0% for validator 1Note: Only the Validator's authorized address can change the commission.
python main.py query validator --validator-id 1 --config-path ~/config.tomlpython main.py query delegator \
--validator-id 1 \
--delegator-address 0x742d35C... \
--config-path ~/config.tomlpython main.py query withdrawal-request \
--validator-id 1 \
--delegator-address 0x742d35C... \
--withdrawal-id 0 \
--config-path ~/config.toml# Options: consensus, execution, snapshot
python main.py query validator-set --type consensus --config-path ~/config.tomlpython main.py query delegators --validator-id 1 --config-path ~/config.tomlpython main.py query delegations \
--delegator-address 0x742d35C... \
--config-path ~/config.tomlpython main.py query epoch --config-path ~/config.tomlpython main.py add-validator --help
python main.py delegate --help
# etc.