💪 Pro Hardware Guide

This guide is written for professional liquidity providers to turn a powerful Mini PC into an always-on OpenDEX node.

Two options are available:

  1. Light setup using Neutrino and a random open eth provider or optionally Infura. This keeps the setup light-weight & cheap, but creates a certain dependency on other people's full nodes.

  2. Full setup using bitcoind, litecoind and geth. Requires more resources and an SSD, but keeps the setup trustless.

Light Reference Shopping List (Europe): ~180 €

Full Reference Shopping List (Europe): ~465 €

Setup

  1. Download Ubuntu Server 20.04 LTS onto your computer. Any other linux distribution supporting docker is also fine. This guide was written using Ubuntu Server 20.04.

  2. Insert a USB Stick into your computer and create the a bootable USB Stick with the ubuntu image you just downloaded.

  3. Open your Mini PC, plug in RAM & drives, close it, connect it to your router via ethernet cable and to a power supply. Connect a screen via HDMI, a USB keyboard, the created bootable USB Stick, fire the Mini PC up and follow the the inital setup instructions.

  4. Update ubuntu via sudo apt update && sudo apt upgrade

  5. If you are using Ubuntu 20.04, install docker & docker-compose by running sudo apt install docker.io. Otherwise if you are using any version besides Ubuntu 20.04, follow the official instructions to install docker.

  6. Add new user opendex:

    [email protected]:~$ sudo adduser opendex
    Adding user `opendex' ...
    Adding new group `opendex' (1001) ...
    Adding new user `opendex' (1001) with group `opendex' ...
    Creating home directory `/home/opendex' ...
    Copying files from `/etc/skel' ...
    New password:
    Retype new password:
    passwd: password updated successfully
    Changing the user information for opendexd
    Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
    Is the information correct? [Y/n] [email protected]:~$ Y
  7. Add the opendex user to the sudo group (advanced users can skip this and use another user to run sudo commands), the docker group and test if docker is working:

    [email protected]:~$ sudo usermod -aG sudo opendex
    [email protected]:~$ sudo usermod -aG docker opendex
    # switch to user opendex
    [email protected]:~$ sudo su - opendex
    [email protected]:~$ docker run hello-world
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
  8. Looking good! Optionally, add an alias to enter your opendexd environment by simply typing "opendex":

    [email protected]:~$ sudo nano ~/.bash_aliases
    # add the line
    alias opendex='bash ~/opendex.sh'
    # CTRL+S, CTRL+X. Then run
    [email protected]:~$ source ~/.bashrc
  9. Connect the USB stick to your machine and set it up. It is very important to do this for a mainnet setup (given you do not want to lose money)!

    # check the USB stick's path with
    [email protected]:~$ ls -la /dev/ | grep sd
    crw------- 1 root root 2, 61 Dec 3 16:27 ptysd
    brw-rw---- 1 root disk 8, 0 Dec 3 16:27 sda
    brw-rw---- 1 root disk 8, 1 Dec 3 16:27 sda1 #this is your USB Stick
    crw------- 1 root root 3, 61 Dec 3 16:27 ttysd
    # set it to automount via fstab
    [email protected]:~$ sudo nano /etc/fstab
    # add the line
    /dev/sda1 /media/USB ext4 defaults 0 2
    # CTRL+S, CTRL+X. Then mount it
    [email protected]:~$ sudo mkdir /media/USB
    [email protected]:~$ sudo mount -a
    # check if mounting worked
    # make sure opendexd can use it
    [email protected]:~$ sudo chown opendex:opendex /media/USB

    DONE! Continue here.