Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update validator-setup #364

Merged
merged 2 commits into from
Jun 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions packages/docs/pages/operators/validators/validator-actions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,19 @@ namadac change-metadata \
--email $EMAIL \
--discord-handle $DISCORD_HANDLE \
--website $WEBSITE \
--avatar $AVATAR
--avatar $AVATAR \
--name $NAME
```
Only the `--validator` argument is required along with at least one of the other arguments listed above. In order to remove a piece of metadata (aside from the required `email`), pass `""` as an argument.

For example, in order to change the validator name and description but remove the existing discord handle, one would run:

```bash copy
namadac change-metadata --validator $VALIDATOR_ADDRESS \
--description $NEW_DESC \
--discord-handle "" \
--name $NEW_NAME
```
Apart from `--validator`, not all of the fields are required (but at least one of them is).

### Deactivation and reactivation

Expand Down
26 changes: 23 additions & 3 deletions packages/docs/pages/operators/validators/validator-setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,17 @@ Post-genesis validators are validators that become initialized after the genesis
Before initializing your validator account, you must first [set up a full node](../ledger/running-a-full-node.mdx) and sync it with
the head of the chain.

### Generate and fund an implicit account
In the next step, we will be sending an on-chain transaction to initialize our validator. Therefore, we must first generate an implicit
account and fund it with enough tokens to cover transaction [gas fees](../../users/fees.mdx).

Use the following commands to generate a new implicit account and display its address. See the sections on [implicit accounts](../../users/transparent-accounts/implicit-accounts.mdx)
and the [filesystem wallet](../../users/wallet/file-system-wallet.mdx) for further details on working with implicit accounts.
```bash copy
namadaw gen --alias $IMPLICIT_ALIAS
namadaw list --addr
```

### Initialize a new validator account
A validator account can be initialized from an [established account](../../users/transparent-accounts/established-accounts.mdx) by submitting an on-chain transaction.
`namadac init-validator` will create a new established account and convert it to a validator account in a single command.
Expand All @@ -47,15 +58,22 @@ namadac init-validator \
--commission-rate 0.05 \
--max-commission-rate-change 0.01 \
--email $EMAIL \
--alias $ALIAS
--alias $VALIDATOR_ACCOUNT_ALIAS \
--account-keys $IMPLICIT_ALIAS \
--signing-keys $IMPLICIT_ALIAS \
--threshold 1
```
__Note:__
- `commission-rate` is the percentage of staking rewards kept by the validator for all tokens bonded to it. A validator can change its commission rate
by no more than `max-commission-rate-change` per epoch. The `max-commission-rate-change` parameter cannot be changed after validator initialization.
Typical values are `0.05` (5%) and `0.01` (1%) respectively but validator are free to choose otherwise.
- `email` should be set to a dedicated infra/security email account that you monitor regularly. It may be used to notify validators of urgent security issues, patches
or chain upgrades.
- `alias` is used to reference your account by name in your wallet; it does not appear on-chain.
- `alias` is used to reference your newly created validator account by name in your wallet; it does not appear on-chain. Rather, your
validator's on-chain name is determined by the `name` value in its [validator metadata](./validator-actions.mdx#metadata-changes).
- a validator account is a special type of (on-chain) [established account](../../users/transparent-accounts/established-accounts.mdx).
Given that the command creates a new established account, you will need to have already created an [implicit account](../../users/transparent-accounts/implicit-accounts.mdx)
(`$IMPLICIT_ALIAS`) and funded it with enough tokens to cover transaction gas costs.

You can optionally provide any of the following additional information to identify your validator on-chain (frequently displayed in block explorers):
- `name`: An on-chain display name (similar to 'moniker' in Cosmos SDK chains)
Expand All @@ -82,5 +100,7 @@ after bonding sufficient stake to place in the active consensus set, you must wa

</Steps>

## Validator account keys
{/* ## Validator account keys
TODO?
*/}

Loading