Installation Process

This section describe all the necessary steps to install and setup the X-Cash's DPoPS system.

System Requirements

In the first beta version, X-Cash's DPoPS will only run on a Linux/Unix OS. We recommend installing it on a Ubuntu VPS/dedicated server (18.04) for the best compatibility.

Minimum System Requirements

Recommended System Requirements


Ubuntu 18.04 (or higher)

Ubuntu 18.04 (or higher)


4 threads

8 threads




Hard Drive



Bandwidth Transfer

500GB per month

2TB per month

Bandwidth Speed

30 Mbps

100 Mbps


The following table summarizes the tools and libraries required to run X-Cash's DPoPS program.


Min. version

Ubuntu package


















Install from binaries

MongoDB C Driver (includes BSON libary)


Build from source


latest version

download the latest release or build from source

Installation Process

Installation path

It is recommended to install the XCASH_DPOPS folder, MongoDB and MongoDB C Driver in the home directory (/home/$USER/) or root directory (/root/) in a Installed-Programs folder.

Create the Installed-Programsfolder and the xcash_walletsfolder

mkdir /root/Installed-Programs
mkdir /root/Installed-Programs/xcash_wallets

Install dependencies

Install System Packages

Make sure the systems packages list is up to date and install the necessary packages.

sudo apt update
sudo apt install build-essential cmake pkg-config libssl-dev git

(Optional) Install the packages for XCASH if you plan to build XCASH from source

Installing MongoDB from Binaries


Then choose your OS, and make sure the version is the current version and the package is server. Then click on All version binaries. Now find the current version to download. You do not want the debug symbols or the rc version, just the regular current version.

Once you have downloaded the file move the file to a location where you want to keep the binaries, then run this set of commands

tar -xf mongodb-linux-x86_64-*.tgz
rm mongodb-linux-x86_64-*.tgz
sudo mkdir -p /data/db
sudo chmod 770 /data/db
sudo chown $USER /data/db

Then add MongoDB to your path

echo -e '\nexport PATH=MongoDB_folder:$PATH' >> ~/.profile && source ~/.profile

If you want to install MongoDB on a different hard drive, make sure to change the path of the /data/db

Building the MongoDB C Driver From Source

Visit the offical websites installation instructions at Follow the instructions for Building from a release tarball or Building from git since you need the header files, not just the library files.

After you have built the MongoDB C driver from source, you will need to run

sudo ldconfig

Build Instructions

Now that the dependencies are all installed, you can clone the repository in the Installed-Programs folder.

cd ~Installed-Programs
git clone

X-CASH Proof of stake uses a Make file to build. After cloning the repository, navigate to the folder then use the make file to build the binary file.

cd ~/Installed-Programs/XCASH_DPOPS
make clean ; make release -j `nproc`

Test build

It is recommended to run the X-CASH DPOPS test before you run the main program. The test will ensure that your system is compatible, and that you have setup your system correctly.

To run the X-CASH DPOPS test, make sure to have already started the XCASH Daemon, XCASH Wallet and MongoDB systemd services, and to have stopped the XCASH DPOPS systemd service if it was already running.

Navigate to the folder that contains the binary, rebuild the binary in debug mode then run the test

make clean ; make debug -j `nproc`
./XCASH_DPOPS --test

The test will return the number of passed and failed test at the bottom of the console. The failed test need to be 0 before you run the node. If the output is not showing 0 for failed test, then you need to scroll through the testing output and find what test failed (It will be red instead of green).

If this is a system compatibility test, then you will need to fix the system. If this is a core test that has failed, then you need to possibly rebuild, or contact us on the DPoPS testing section or go the the Discord channel to get help from testers and the dev-team.