This document describes a process of joining a testnet or a mainnet as a validator.
Full documentation is hosted at learning.ux.xyz. However, it may not be up-to-date.
You need 2 binaries to run a validator: umeed
and price-feeder
.
Make sure you run the right binary for the testnet or the mainnet. Consult the chain upgrades on mainnet and testnet.
You can get a binary by:
-
Build yourself and follow the latest Release Notes.
-
If you build the binary on a different OS than your validator OS, then you need to copy
libwasmvm
: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 or the compatibility matrix. -
Download the right binary build. The binary build is compatible with the latest Ubuntu LTS x86-64. You MUST also copy the
libwasmvm
(See note in 2. about libwasmvm version):wget https://raw.githubusercontent.com/CosmWasm/wasmvm/<version>/internal/api/libwasmvm.$(uname -m).so -O /lib/libwasmvm.$(uname -m).so
-
Use our released docker umeed container.
To test if the libwasm
is linked correctly, run umeed version
.
We are using Ojo Price Feeder. Please follow the instructions. 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.
- Copy the
price-feeder.toml
. - For the provider config you can use our latest umee-provider-config directory as is.
- Depending where you run your validator node, certain locations may block some endpoints. Make sure you read through the comments in the config files.
- Make sure you follow our announcements and update in Discord: canon-4 announcements for the testnet and validator-announcements for the mainnet.
-
Update the
app.toml
,client.toml
andconfig.toml
based on your preference. You MUST set non-zero min gas prices inapp.toml
. Queryumeed q ugov min-gas-price
to see what is the minimum acceptable value:# your app.toml file minimum-gas-prices = "0.1uumee"
Before joining the mainnet you should join a testnet!
-
Make sure you can run
umeed
andprice-feeder
locally. -
Join the Discord server. Make sure you are in the Testnet group.
-
Follow the state sync canon-4 instructions. Make sure you use the latest version.
-
You can use the following peers in your
config.toml
:persistent_peers = "ee7d691781717cbd1bf6f965dc45aad19c7af05f@canon-4.network.umee.cc:10000,dfd1d83b668ff2e59dc1d601a4990d1bd95044ba@canon-4.network.umee.cc:10001"
-
Using discord, ping one of the UX Team members to send you testnet
uumee
. -
Once your node validator is set up (and you did self delegation), ping again UX Team members and send your validator address. We will do a delegation.
-
Make sure your Price Feeder is running correctly. If your testnet window misses are above 50% then something is wrong. Look for a help on Discord.
Here are our testnet public endpoints:
- Make sure you firstly tested your setup on Testnet.
- Use one of the community snapshots:
- Buy
uumee
to self delegate. - Make sure your Price Feeder is running correctly. If your mainnet window misses are above 50% then something is wrong. Look for a help on Discord.
We recommend to use Cosmovisor for mainnet nodes.