Running an Elixir v2.0 Validator

Elixir Testnet v2 Validator Setup Guide
Below is a step-by-step guide to running a validator on the Elixir Network's testnet and helping to ensure security and effectiveness for our market making algorithm.

Testnet v2 Validator Setup Guide

Preparation – hardware requirements

Most hardware is capable of running a validator node. However, it is recommended that you have a system which can be run 24 hours a day, with 4GB of memory and a reliable 100Mbit internet connection. Disk usage is minimal; in most cases 30GB should be enough. We recommend setting up a virtual private server (e.g. AWS, Vultr, or any other form of VPS).

Preparation – System Setup

Running a validator will require a system configured with an up-to-date install of Docker. Please follow the installation guide for your Operating System. Verify your installation works by opening a terminal and running docker ps. You should see something similar to the following output:
If you receive an error, revisit the installation guide for your operating system.

Validator Setup

Account Setup

Elixir recommends using a fresh wallet for running a validator. If you ran a Testnet-1 validator, feel free to keep the same wallet, otherwise, set up a new one. In Metamask, this can be done by clicking the "My Accounts" icon in the top right, and clicking "+ Create Account."
For security, this wallet should never be used for anything other than running a testnet validator.
With this account created, copy the address and private key. In Metamask, you can obtain the private key by clicking Account Details from the elipsis menu, and then clicking "Export private key". If using your key and address from Testnet-1, use the values stored in the Testnet-1 Dockerfile.

Download the Dockerfile

Download the validator Dockerfile and open it up in a text editor. Enter the wallet address and private key you generated in the previous step into the text file. Give your validator a name, so other ELXR holders will know who to delegate their stake to.

Build the Docker image

Build the validator image by executing the following docker command from the directory you downloaded the Dockerfile to: docker build . -f Dockerfile -t elixir-validator.

Start your validator

Run the validator by executing the following docker command: docker run -it --name ev elixir-validator.
Optionally, you can configure the the validator to automatically run at startup: docker run -d --restart unless-stopped --name ev elixir-validator.
Your validator should start up in 20 seconds and begin submitting order proposals to the network.

Enroll your wallet as a validator

Navigate to the Elixir Network Dashboard with your wallet-connected browser. Connect with Metamask and switch to the Goerli network. Claim your ELXR. If you need Goerli ETH, you can ask in our Discord server. Testnet-1 operators have received a Goerli ETH airdrop large enough to pay any network gas fees.
Once you have received ELXR tokens, you will need to stake those tokens. Any amount from 100-1000 ELXR will do.
Next, enroll your validator. You can click the enroll button, and then enter the wallet address used to spin up your validator in the prior steps. Once this transaction is confirmed, check the leaderboard to ensure your address is enrolled. Then, verify that valid orders are being processed by finding your validator on the metrics page.

Upgrading/Getting the latest version

You will need to pull the latest version of the validator from time to time. To do so, open a command line in the directory with your Dockerfile and execute the following commands:
docker kill ev
docker rm ev
docker pull elixirprotocol/validator:testnet-2
docker build . -f Dockerfile -t elixir-validator
And rerun the docker command to start the validator:
docker run -it --name ev elixir-validator
docker run -d --restart unless-stopped --name ev elixir-validator

Tracking your validator's metrics

Users can check on their validator's status by visiting the Elixir Network Dashboard. The leaderboard contains a list of all enrolled validators, while the metrics page shows individual validators' valid and invalid order counts.
Last modified 18d ago