Validator permission grants
To enhance security and eliminate the need to store the validator wallet private keys on the server, an intermediate address can be used. This intermediate address is granted the necessary permissions to withdraw rewards and commissions, as well as to vote on behalf of the validator. Below is a detailed description of the process and an explanation of all parameters and commands involved:
Description
The objective is to delegate specific operational tasks of a validator to a grantee (intermediate address) by granting them necessary permissions. This setup ensures that the validator's private keys are not stored on the server, thereby improving security. The grantee will be authorized to:
Withdraw delegator rewards.
Withdraw validator commissions and rewards.
Vote on governance proposals.
Parameters
BINARY= Path to the binary executable of the daemon (e.g., /root/go/bin/dymd
).
GRANTEE_ADDRESS= Address of the grantee (intermediate address) which will receive the permissions.
WITHDRAW_ADDRESS= Address to which rewards and commissions will be withdrawn.
VALIDATOR_ADDRESS= The validator's wallet address.
VALOPER= Validator operator address.
FEES= Transaction fee (e.g., 5000000000000000adym
).
GAS= Gas limit for transactions (e.g., 300000
).
PASS= Password for keyring access and sending transactions.
To grant the necessary permissions, the validator's wallet must be present in the keyring (key storage). Also grantee`s wallet must be added to the keyring and a small amount of coins should be sent to it to cover the gas fees for future authorized transactions. After the permissions have been granted, the validator's wallet can be safely removed from the server. This ensures that the validator's private keys are no longer stored on the server, enhancing the overall security of the system.
Commands
Set Withdraw Address
Sets the address where rewards will be withdrawn.
Grant Authorization to Grantee
Grant permission to withdraw delegator rewards:
Grant permission to withdraw validator commissions:
Grant permission to vote on governance proposals:
Execute Authorized Transactions
Withdraw validator commission and rewards:
Executes the withdrawal of validator commission and rewards using the granted authorization.
Vote on a governance proposal:
Executes a governance vote using the granted authorization. Ensure to replace
$PROPOSAL_ID
with the proposal ID and$VOTE_OPTION
with the vote option.
Last updated