# Step-by-Step Guide: Launching Testnet and Mainnet Nodes for Elixir

By [AirdropMarathon](https://paragraph.com/@airdropmarathon) · 2025-01-17

---

**Running Elixir Nodes: Testnet & Prod**

Elixir now allows us to:  
🔹 [**Run test nodes**](https://docs.elixir.xyz/running-a-testnet-validator) to test the staking mechanism using test tokens.  
🔹 [**Run prod nodes**](https://docs.elixir.xyz/running-an-elixir-validator) to test system stability (no tokens needed yet).

💡 Both types of nodes might qualify for future airdrops, so it’s worth setting them up!

🛠 **My Setup:**

*   Wallet: **Rabbit** (freshly created for security).
    
*   [Faucet](https://cloud.google.com/application/web3/faucet/ethereum/sepolia).
    
*   Server: [**Contabo VPS**](https://contabo.com/en/vps/) – affordable, no ID verification required (~$12.50/month + one-time $8 fee).
    
*   Terminal.
    
*   MacOS.  
      
    **Requirements**: 8GB RAM, 100Mbit connection, 100GB disk space.
    

![](https://storage.googleapis.com/papyrus_images/97d8c48e78265c197aa86955cdef94fb7dd067c27ee2655f7e26396f17c0953d.png)

**Run Your Mainnet Validator**
------------------------------

**  
1\. VPS Purchase**  
I use Contabo – it doesn’t require document verification and is quite affordable. The only downside is a one-time payment of about $8–9.

Choose your cloud VPS. I’m using the VPS2. It’s enough for running two validators (test and prod).  
  
When setting up the server before payment, leave all fields **as default**, except for **setting a password for your server.**

**Total cost: ~ $20.**

**2\. Connect to the server.**  
Launch the Terminal and connect to your server. Copy your server's IP address and paste it into the following command. Press **Enter** after entering each command.

    ssh root@<server_ip>
    

Wait until the program asks to enter the password and then enter your server password.  
  
If all is ok you should see something like this:

![](https://storage.googleapis.com/papyrus_images/39e65104cfddcc86eba4bb65009a8c881c0b91cebf1f19dba4646b49ef1bff37.png)

  
**3\. Setup the server**

**3.1** Run these commands one by one:

    sudo apt update && sudo apt upgrade -y
    
    sudo apt install -y curl git jq lz4 build-essential unzip
    

**3.2** Install the Docker:

    sudo apt install -y ca-certificates curl gnupg lsb-release 
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
    
    sudo usermod -aG docker $USER
    
    newgrp docker
    

**3.3** Create the custom directory on the server and open it.

    mkdir elixir && cd elixir
    

**3.4** Download the file where we will store the node variables:

    wget https://files.elixir.finance/validator.env
    

**3.5** Now edit the file. First you should open it. Run this command:

    nano validator.env
    

It should look like this:

![](https://storage.googleapis.com/papyrus_images/b66408aec522164eeb1480dac9024fb922db362d51362f4f6bdd49b2844611c6.png)

**3.6** Fill in the required fields. **Note:** The cursor won’t work as usual in the terminal. Use the **up** and **down arrow keys** to navigate between text fields.  
  
#STRATEGY\_EXECUTOR\_DISPLAY\_NAME - set any name you want;  
  
#STRATEGY\_EXECUTOR\_BENEFICIARY - your EVM wallet address;  
  
#SIGNER\_PRIVATE\_KEY - find the private key in the wallet settings and paste it here and I highly recommend to not use your main wallet, create a new way. **Sharing your private key is always unsafe!**

**3.7** Save the changes:  
Press `Ctrl + W`, then hit `Enter` to confirm saving.  
Exit the editor by pressing `Ctrl + X`.

**4\. Running validator:**  
  
**4.1** Download the Docker image:

    docker pull elixirprotocol/validator
    

**4.2** Start validator:

    docker run -it \
      --env-file /root/elixir/validator.env \
      --name elixir \
      elixirprotocol/validator
    

**READY!**
----------

**⏳ Wait ~10–30 mins and check your validator here:🔗** [**https://www.elixir.xyz/validators**](https://www.elixir.xyz/validators)

![](https://storage.googleapis.com/papyrus_images/1d11515b162eb25c7aecee8bebdfcbf55d13ea65c8068d948c73a4a5535cc513.png)

**Run Your Testnet Validator**
------------------------------

For a test node, you don’t need to set up a server or Docker – everything is already prepared. Open a new terminal tab and **log in to the server.** Repeat the login command from earlier.  
  
**1\. Create a new directory for the test node where the file will be downloaded.**  
For example:  
  
`mkdir elixir_test && cd elixir_test`  
  
**2\. Download the file and open it using these commands:**  
`wget https://files.elixir.finance/validator.env`  
`nano validator.env`  
  
Set `env=testnet` in the file and fill out the other fields with the same data as in the previous step.

Save the changes:  
Press Ctrl + W, then hit Enter to save.  
Exit by pressing Ctrl + X.  
  
**3\. Pull the testnet Docker image:**  
`docker pull elixirprotocol/validator:testnet`  
  
**4\. Launch the node:**

    docker run -it \
      --env-file /root/elixir_test/validator.env \
      --name elixir \
      elixirprotocol/validator:testnet
    

**5.If everything is running correctly, you’ll need to stake test tokens and delegate them to your delegator.**  
  
\- Visit: [https://testnet-3.elixir.xyz/](https://testnet-3.elixir.xyz/).  
\- Connect your wallet (make sure to get test ETH from a [faucet](https://cloud.google.com/application/web3/faucet/ethereum/sepolia) first).  
\- Click Claim $MOCK tokens and delegate them for staking.

![](https://storage.googleapis.com/papyrus_images/4d004a898e15f45362a31f5dbb9d3a0a3e3e410822c1782661eaad9fb86d8b4a.png)

### Upgrading Your Validator

As the Elixir team continues to improve the validator, you may need to update to the latest version. To do this, follow these steps:

1.  Open a terminal in the directory where your Dockerfile is located.
    
2.  Run the following commands:
    
        docker kill elixir docker rm elixir docker pull elixirprotocol/validator
        
    
3.  After completing these steps, rerun the original Docker command you used to start the validator.
    

This will ensure your validator is running the latest version.

**Join my Airdrop Marathon 365 and don’t miss out:**[https://t.me/airdrop\_marathon\_365](https://t.me/airdrop_marathon_365)

💥 **Join the marathon** – my 2025 challenge where, starting from January 12, 2025, I share daily updates about what I’m farming today.

📅 Perfect for copy-farming and staying ahead in the airdrop game. Let’s farm together and maximize those rewards! 🚀

---

*Originally published on [AirdropMarathon](https://paragraph.com/@airdropmarathon/step-by-step-guide-launching-testnet-and-mainnet-nodes-for-elixir)*
