Running an Elixir Testnet Validator
Elixir Testnet v3 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 v3 Preparations
Hardware Requirements
Most hardware is capable of running a validator node. However, it is recommended that you have a system that can be run 24 hours a day, with 8GB of memory and a reliable 100Mbit internet connection. Disk usage is minimal; in most cases, 100GB of storage should be enough.
Docker Installation
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 Private Key Generation
Elixir recommends using a dedicated wallet for your validator. This wallet will be used for signing transactions in the Elixir Network and the security of this wallet is paramount to earning rewards in the Elixir Network. If you ran a validator during one of the prior Testnets, feel free to keep the same wallet. You will need both the private key and public wallet address to set up and enroll your validator.
Generating A Private Key In Metamask
In Metamask, this can be done by clicking the "My Accounts" icon in the top right, and clicking "+ Create Account." You can obtain the private key by clicking Account Details from the ellipsis menu, and then clicking "Export private key".
For security, this wallet should never be used for anything other than running a testnet validator.
Validator Setup
Download The Environment Template
Download the validator environment template file and open it up in a text editor. Set the values using the legend below:
Validator Enrollment
Next, you will need to enroll your validator for it to begin receiving work from the Elixir Network and submitting order proposals for consensus.
Mint MOCK Elixir Tokens On Sepolia
The Testnet v3 network is powered by MOCK tokens on the Ethereum Sepolia test network. To get some MOCK tokens, you will need a small amount of Sepolia ETH in any wallet. Navigate to the Elixir Network Testnet v3 Dashboard and connect your wallet. Verify you are connected to the Ethereum Sepolia network and then click the "MINT 1,000 MOCK" button. Confirm the transaction in your wallet.
Note: This wallet should be different than the one you generated in the Preparations step above.
Stake Your MOCK Tokens
Once you have received your newly minted MOCK tokens from the dashboard, you will need to approve those tokens for spending on-chain, and then stake those tokens.
In the Stake MOCK window, enter the amount of MOCK tokens you wish to stake. Click "APPROVE MOCK FOR STAKING" and confirm the transaction in your wallet. Wait for the transaction to complete on-chain, then click "STAKE <amount> MOCK" and confirm the transaction.
Enroll Your Validator
In the search bar beside "Active validators" where it says "Enter validator address" enter your validator's public wallet address generated in the Preparations step. Wait for the search to complete then click "DELEGATE". Confirm the transaction and wait for it to complete on-chain. Your are now ready to run your validator.
Running Your Validator
Pull The Docker Image
Download the Docker image for the Testnet v3 validator by running the following docker command:
Start Your Validator
Run the validator by executing the following docker command, replacing /path/to/validator.env
with the full path to the validator environment file you created in the Validator Setup step:
Optional: Setting A Restart Policy For Your Validator
Docker allows you to configure a restart policy for docker containers. Elixir recommends running your validator as a daemon with the unless-stopped
restart policy:
Optional: Running A Validator On Apple/ARM Silicon
If you are running on a non-x86 architecture, you may need to set the --platform
flag appropriately when starting the validator docker image:
Optional: Exposing Health Checks and Metrics
The validator image exposes HTTP endpoints for running health checks and exposes metrics suitable for monitoring with Prometheus. To access this endpoint, you must open port 17690
on the docker container. Doing so will allow you to view the /health
and /metrics
endpoints in the container.
Upgrading your validator
As the Elixir team continues to improve the validator during the lead up to Mainnet launch, you may need to pull the latest version of the validator. To do so, open a command line in the directory with your Dockerfile and execute the following commands:
And rerun the docker command you used to start the validator.
Where To Find Support
Discord
Our Discord server has a thriving and supportive community. Here is a short list of the important channels:
#validator-announcements: This is an announcements channel you can subscribe to in order to get alerts and notifications for new versions of the validator software. This will be the primary channel the Elixir team will use to notify when there is a new version of the validator software to pull or any version-specific instructions to follow.
#node-operators: A DevOps-focused channel where node operators can find peer support, share tips and best practices, and talk about any findings they have. Keep conversation in this channel direct and topical--no "GM"s.
Report A Bug
If you find a bug and need to bring it to the developers' attention, you can always file a report in the Testnet v3 Issue Tracker.
Last updated