Skip to content

Commit

Permalink
docs(setup): validator instructions (#2407)
Browse files Browse the repository at this point in the history
* docs(setup): validator instructions

* Apply suggestions from code review

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* update min gras prices notes

* lint

* lint

* endpoints

* formatting

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
  • Loading branch information
robert-zaremba and coderabbitai[bot] authored Jan 30, 2024
1 parent 64803fb commit f9ac6dc
Show file tree
Hide file tree
Showing 2 changed files with 91 additions and 1 deletion.
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ Umee will allow a multitude of decentralized debt products.
- [Recommended Database Backend](#recommended-database-backend)
- [Swagger](#swagger)
- [Cosmovisor](#cosmovisor)
- [Validators](#validators)
- [Liquidators](#liquidators)

## Releases
Expand Down Expand Up @@ -83,7 +84,7 @@ You don't need to do anything if you are using our Docker image.
Public:

- [umee-1](networks/umee-1) (mainnet)
- canon-3 (testnet)
- canon-4 (testnet)

## Build

Expand Down Expand Up @@ -192,6 +193,10 @@ $ wget https://raw.githubusercontent.com/CosmWasm/wasmvm/v1.5.0/internal/api/lib

- To use `cosmovisor` for starting `umeed` process, instead of calling `umeed start`, use `cosmovisor run start [umeed flags]`

## Validators

Please follow [Validator Instructions](./VALIDATOR.md) for setting up a validator node.

## Liquidators

A guide to running liquidations on Umee can be found [here](./x/leverage/LIQUIDATION.md)
85 changes: 85 additions & 0 deletions VALIDATOR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Validator Notes

This document describes a process of joining a testnet or a mainnet as a validator.

## Umeeversity

Full documentation is hosted at [learning.ux.xyz](https://learning.ux.xyz). However it may not be up to date.

## Getting a Binary

To run a validator you need 2 binaries: `umeed` and `price-feeder`.

### Umeed

You can get a binary by:

1. [Build](./README.md#build) yourself and follow the latest [Release Notes](./RELEASE_NOTES.md).
If you build the binary on a different OS than your validator OS, then you need to copy `libwasmvm`:

```sh
scp $GOPATH/pkg/mod/github.com/!cosm!wasm/wasmvm@<version>/internal/api/libwasmvm.$(uname -m).so running_os:/<lib/path>
```

NOTE: use the correct `wasmvm` version, according to the latest [Release Notes](./RELEASE_NOTES.md) or the [compatibility matrix](./README.md#release-compatibility-matrix).

2. Download latest [binary build](https://github.com/umee-network/umee/releases). The build is compatible with the latest Ubuntu LTS x86-64. You MUST also copy the `libwasmvm` (see note in 1. about libwasmvm version):

```sh
wget https://raw.githubusercontent.com/CosmWasm/wasmvm/<version>/internal/api/libwasmvm.$(uname -m).so -O /lib/libwasmvm.$(uname -m).so
```

3. Use our released docker [umeed container](https://github.com/umee-network/umee/pkgs/container/umeed).

To test if the `libwasm` is linked correctly, run `umeed version`.

### Price Feeder

We are using Ojo Price Feeder. Please follow the [instructions](https://github.com/ojo-network/price-feeder/blob/umee/README.md). Make sure you use the latest release with the `umee/` prefix (eg: `umee/v2.4.0`).
NOTE: for self building and configuration examples you MUST use the [umee branch](https://github.com/ojo-network/price-feeder/tree/umee).

- Copy the [`price-feeder.toml`](https://github.com/ojo-network/price-feeder/blob/umee/price-feeder.example.toml).
- For the provider config you can use our latest [umee-provider-config directory](https://github.com/ojo-network/price-feeder/tree/umee/umee-provider-config) as is.

## Running a node

1. Update the `app.toml` , `client.toml` and `config.toml` based on your preference. You MUST set non zero min gas prices in `app.toml`. Query `umeed q ugov min-gas-price` to see the what is the minimum acceptable value:

```toml
# your app.toml file
minimum-gas-prices = "0.1uumee"
```

## Joining the network

Before joining the mainnet you should join a testnet!

### Testnet

1. Make sure your are able to run `umeed` and price feeder locally.
2. Join the [Discord server](https://discord.gg/4ZJAFvg9). Make sure you are in the Testnet group.
3. Follow the state sync [canon-4 instructions](https://mzonder.notion.site/UMEE-Start-from-STATE-SYNC-canon-4-f485563a089a436d9d1fe98f54af8737). Make sure you use the [latest](https://github.com/umee-network/umee/releases/) version.
4. You can use the following peers in your `config.toml`:

```toml
persistent_peers = "[email protected]:10000,[email protected]:10001"
```

5. Using discord, ping one of the UX Team members to send you testnet `uumee`.
6. Once your validator is setup (and you did self delegation), ping again UX Team members and send your validator address. We will do a delegation.
7. Make sure your Price Feeder is running correctly. If your [testnet window misses](https://canon.price-feeder.com/) are above 50% then something is wrong. Look for a help on Discord.

Here are our testnet public endpoints:

- [Explorer](https://explorer.network.umee.cc/canon-4)
- [Web GRPC](https://canon-4.api.network.umee.cc)
- [RPC](https://canon-4.rpc.network.umee.cc)

### Mainnet

1. Make sure you firstly tested your setup on Testnet.
2. Use one of the community [snapshots & instructions](https://github.com/obajay/StateSync-snapshots/tree/main/Projects/Umee).
3. Buy `uumee` to self delegate.
4. Make sure your Price Feeder is running correctly. If your [mainnet window misses](https://price-feeder.com/) are above 50% then something is wrong. Look for a help on Discord.

We recommend to use [Cosmovisor](./README.md#cosmovisor) for mainnet nodes.

0 comments on commit f9ac6dc

Please sign in to comment.