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 building orderbooks.

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:

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

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.

**With the deprecation of Goerli Ethereum on 03/13/2024, enrolling validators onchain (via ELX faucet) for testnet v2 has been paused. This will be re-enabled for validators on testnet v3, which will use Sepolia for onchain fraud proofs.**

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

or

docker run -d --restart unless-stopped --name ev elixir-validator

Last updated