UPlexa Knowledgebase:Setting up Utility Node on Testnet
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:
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
Navigate to the folder:
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
./uplexad --testnet --utility-node
.profileand then run uPlexa Node with
$ uplexad --testnet --utility-node
Step 5) Create Testnet Wallet
Create testnet wallet to get wallet address for staking:
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_statusin 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.
show_transfers to see your incoming transfers from the Utility Node marked unode
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!