Managing an operator

Registering a new operator

In order to register as an operator within our restaking protocol, you can run the following commands:

milkywayd tx operators register [Your-operator-name] \
  --description <Your operator description> \
  --picture <The URL of the picture for your operator> \
  --website <The URL of your website> \
  --from <key-name>
  --chain-id <chain-id>
  --gas auto --gas-prices 0.1umilk --gas-adjusment 1.5
  --node <RPC URL of the node> 

Where:

  • [Your-operator-name] identifies the name you want to show users as the operator.

  • --description allows to set a brief description of your operator (optional).

  • --picture allows you to set the URL of the picture that will be shown to users inside our operators explorer (optional).

  • --website allows to set the URL of your website (optional).

  • <key-name> is the name of the key that you are using to sing the transaction. The same account will be set as the admin of the operator.

  • <chain-id> is the ID of the MilkyWay chain where you are broadcasting the transaction. You can find the various chain ids here.

  • <RPC URL of the node> is the URL of the RPC node to be used to broadcast the transaction. You can find the various chain RPCs here.

After running this command, your operator will be registered within the MilkyWay chain and will be assigned a unique ID. Please make sure to write this down as it will be required when running other operations related to your operator.

Setting the operator's params

Withing the MilkyWay chain, we allow operators to set the amount of commissions that they will charge to their delegators. This rate will be used during the rewards distribution process: every time an AVS will send the operator some rewards, the operator will withhold the commission amount and automatically re-distribute the remaining part to its delegators. This means that if you want to keep 100% of the rewards that AVSs send you, your commission rate will have to be set to 100%.

To update your commission rate amount you can run the following transaction:

milkywayd tx operators set-params [operator-id] [commission-rate] \
  --from <key-name>
  --chain-id <chain-id>
  --gas auto --gas-prices 0.1umilk --gas-adjusment 1.5
  --node <RPC URL of the node> 

Where:

  • [operator-id] is the ID of your operator.

  • [commission-rate] is the rate of commissions you want to charge (in the 0.01 - 1 range, where 0.01 means 1% and 1 means 100%).

  • <key-name> is the name of the key that you are using to sing the transaction. The same account will be set as the admin of the service.

  • <chain-id> is the ID of the MilkyWay chain where you are broadcasting the transaction. You can find the various chain ids here.

  • <RPC URL of the node> is the URL of the RPC node to be used to broadcast the transaction. You can find the various chain RPCs here.

Deactivating an operator

If you ever need to run some maintainance to your operating services, you should mark your opeartor as INACTIVE before stopping any service from running. This will stop any reward being distributed to you, but it will also make sure that you do not incur in any slashing due to being inactive.

To mark your operator as inactive you can run the following transaction:

milkywayd tx operators deactivate [operator-id] \
  --from <key-name>
  --chain-id <chain-id>
  --gas auto --gas-prices 0.1umilk --gas-adjusment 1.5
  --node <RPC URL of the node> 

Where:

  • [operator-id] is the ID of your operator.

  • <key-name> is the name of the key that you are using to sing the transaction. The same account will be set as the admin of the service.

  • <chain-id> is the ID of the MilkyWay chain where you are broadcasting the transaction. You can find the various chain ids here.

  • <RPC URL of the node> is the URL of the RPC node to be used to broadcast the transaction. You can find the various chain RPCs here.

In order to avoid cryptoeconomic security swinging a lot for services you are validating, the inactivation of your operator will require some time. You can query how long it will take by querying the parameters of the operators module and refer to the deactivation_time parameter.

Currently there is no way for an inactive operator to become active again. We are actively working on this feature and will update this documentation with the command to run once it becomes available.

Last updated