UPlexa Knowledgebase:Setting up Utility Node on Testnet

From uPlexa Knowledgebase
Jump to navigation Jump to search


The uPlexa project is proud to release, “Steadfast Storm” on the uPlexa testing network (testnet).

Steadfast storm enables Utility nodes (UNs). UNs are like master nodes in the terms of providing proof-of-stake transactional validation. However, UNs are more complex, using PoU (proof-of-utility) in order to provide the backbones infrastructure for our decentralized privacy network (dVPN) known as Plexanet. PlexaNet will release in Alpha (on testnet) in January, 2021.

Original Medium Article: https://uplexa.medium.com/how-to-setup-run-a-utility-node-bedcfb461594

Utility Node Requirements on Testnet

  • 20,000 / 5,000 UPX on Testnet
  • A virtual machine with min 2GB of ram, 1–2 vCPU, a connection with a reliable 99.999% uptime (or risk losing out on rewards), and a consistent connection speed of 13Mbps
  • Knowledge of basic bash commands (or simply follow this guide closely)

Note: If you do not have 20,000 testnet UPX, you may mine solo via uplexa-wallet-cli (start_mining). The official uPlexa testnet pool will also be setup next week if you wish to mine to a pool instead of mining solo

Utility Node Setup Guides

Step 1) Create Virtual Machine with Hosting Provider

Note: We do not recommend using AWS, Google Cloud, or Microsoft Azure.

Virtual Machine Requirements:

  • 1-2 vCPU
  • Min 2GB of RAM
  • Good Consistent Connection Speed of 13Mbps and above
  • Operating System: Ubuntu 18.04 LTS (recommended for beginners)

Once logged in to your VM using SSH, run command:

sudo apt update -y && sudo apt upgrade -y

Step 2) Pull uPlexa Core Bundle from Official Github Repo

Run the following command to pull uPlexa Core Bundle to your VM or server:

git clone --recursive https://github.com/uPlexa/uplexa

Navigate to uplexa directory and initiate & update submodule:

cd uplexa && git submodule init && git submodule update

Step 3) Install Dependencies and Compile

In order to compile uPlexa, install dependencies libraries and tool required for the compilation:

sudo apt install build-essential cmake pkg-config libboost-all-dev libssl-dev libzmq3-dev libunbound-dev libsodium-dev libpgm-dev -y

More details summaries of the libraries and tools can be found here: https://github.com/uplexa/uplexa#dependencies

Testnet is compile on master branch of uPlexa repo:

git checkout master

Compile the code:

make release

Note: If the code compile stuck or running too slow, you may need to create /swapfile: refer to https://linuxize.com/post/create-a-linux-swap-file/

Step 4) Start the Daemon in Utility Node

The resulting executable can be found at $ ~/uplexa/build/Linux/master/release/bin
Navigate to the folder:

cd ~/uplexa/build/Linux/master/release/bin

Start daemon in Utility Node mode and let it sync. This may take several hours (much quicker on testnet):
You can start daemon in background using --detach mode, or use screen

./uplexad --testnet --utility-node


  • Add PATH="$PATH:$HOME/uplexa/build/Linux/master/release/bin" to .profile and then run uPlexa Node with $ uplexad --testnet --utility-node

Step 5) Create Testnet Wallet

Create testnet wallet to get wallet address for staking:

./uplexa-wallet-cli --testnet

Follow the instructions and save the 25-mnemonic seed word to restore the wallet if needed.

Step 6) Register Utility Node

Back to your daemon, you may now register your Utility Node to the network:


Follow the instructions.

  • Select NO for auto-staking until we patch the code.
  • For Manual Staking (in testnet), the locking period is 2 days (1440 block). You need to re-staking (re-register the Utility Node) upon expiry.
  • to check your expiry height, run print_un_status in the daemon. Check Expiry Height (block) or Expiry Date (Estimated in UTC).

Once complete, you will receive a code in which must be pasted into the wallet client.

Paste the code you were provided by the daemon to the uplexa-wallet-cli, and agree to the TX fee.

Complete Utility Node Setup

You are now set up! You should start receiving block rewards coming in every couple minutes.
Run show_transfers to see your incoming transfers from the Utility Node marked unode

Bug Reporting

Please report all bugs using Github. Please make sure to search to see if the bug you are posting has already been posted prior to making a new issue.

We will keep updating this guide overtime. Please refer to our discord and telegram channel for any updates/changes!