Master / Validator Node

The OBADA Master Node consists of a Validator Node (containing the digital ledgers) as well as several other components. DAO Members have the rights to operate all the software contained in the Master Node, but are only required to operate the single Validator Node (which contains the digitial ledgers). The node software can be found in the Testnet Github Repo.

Installation Video

See a video walkthrough showing an actual node installation.

DAO Member Node Options

DAO Members have four options for running the node software.

  1. Install and maintain your own physical server. Bare metal installation instructions are below.
  2. Rent a cloud server (AWS, Google Cloud, etc..) then install and maintain the software yourself. Instructions are below.
  3. Rent an cloud server and have OBADA install and maintain the node for you. This option is included in the DAO membership. Contact techops @ obada.io.
  4. License your node rights and requirements to someone else. As of Feb 2023 no one has done this yet. If you are the first, please share whatever legal agreement you create for this as an example template for other DAO Members to use.

Bare Metal Installation

Hardware Prerequisites

  1. Server to host node

    Resource Amount Note
    CPU 4 Core  
    Memory 8GB  
    Hard Drive 512GB+ 32GB free at all times
    Nic 2 One for external public internet / one for internal network
    USB Drive 1 x 8GB For Install media
  2. Workstation to provision node. Look at Installation - Ubuntu for minimum requirements then add resources needed for workstation load.

    Resource Amount Note
    CPU 4 Core  
    Memory 8GB  
    Hard Drive 128GB  
    Nic 1 One for internal network connection. Must be able to connect to node internal connection
    USB Drive 1 x 8GB For Install media
  • You will need a 3rd PC for preparation

Software Prerequisites

Resource Software Note
Node Ubuntu 22.04 LTS Desktop or server
Workstation Ubuntu 22.04 LTS Desktop
Github Obada/testnode https://github.com/obada-foundation/testnet
Balena Etcher 1.7.9 balenaEtcher - Flash OS images to SD cards & USB drives, used on preparation pc

Preparation Checklist

  1. Node

    Parameter Value Note
    Hostname    
    IP Address    
    Netmask    
    Default gateway    
    DNS Server    
    User Name   First account is administrator
    Password    
  2. Workstation

    Parameter Value Note
    Hostname    
    IP Address    
    Netmask    
    Default gateway    
    DNS Server    
    User Name   First account is administrator
    Password    
  3. Prepare Install Media to USB Drive

    1. Use Etcher to create Workstation Media

Time Breakdown

Several of these steps don’t require attention from the user, you don’t need to wait while the job is done.

Step Approximate Time Note
Source/build node hardware 1 hour to 1 day Can vary depending on source and availability of hardware
Source/build workstation 1 hour to 1 day Can vary depending on source and availability of hardware
Download prepare install media 1 hour Can vary based on internet seped
Install Operating System 1 hour Can vary depending on hardware
Configure Operating System 1 hour Can vary depending on environment
Watch testnode video 30 minutes Link to Video Here
Install prerequisites 5 minutes  
Install node 10 minutes  

Setup Diagram

setup-diagram

Preparation PC - Download and Create Install Media

  1. Download Ubuntu Desktop
    1. Using a browser navigate to Download Ubuntu Desktop - Download - Ubuntu
    2. Click the ‘Download’ button
  2. Download and install BalenaEtcher from balenaEtcher - Flash OS images to SD cards & USB drives on preparation pc.
  3. Create Media
    1. Insert USB Drive into Computer being used for preparation
    2. Launch BelenaEtcher
    3. Select ‘Flash from file’ button
    4. When dialog box opens navigate to the folder where the Ubuntu image was downloaded and select the server file.
    5. Select Target.
    6. Select the USB Drive inserted from step a.
    7. Select ‘Flash!’ to initiate writing to the USB Drive.
    8. When done remove the USB.

Node Preparation

Check your Server manual for the following steps:

  1. Configure hard drives if using hardware raid.
  2. Configure server bios to boot from USB Drive.
  3. Place usb in a slot the server can boot from. Not all servers enable every port for booting.
  4. Power on or reboot Server.
  5. Install OS, follow Install Ubuntu Desktop Instructions later in document.
  6. Set hostname.
  7. Configure ethernet.
  8. Add routes if needed for connectivity.

Workstation Preparation

Check your Workstation for the following steps:

  1. Configure server bios to boot from USB Drive.
  2. Place usb in a slot the computer can boot from.
  3. Power on Workstation.
  4. Install OS, follow Install Ubuntu Desktop Instructions.
  5. Set hostname.
  6. Configure ethernet.
  7. Add routes if needed for connectivity.

At this point you should be ready to install Node.

Install Ubuntu Desktop

  1. Do the same process for both Node and workstation, use appropriate Hostname and IP address parameters for each machine.

  2. At the Install screen select Install Button install-u-1

  3. Select Keyboard layout and select ‘Continue’. install-u-2

  4. Keep default and select ‘Continue’. install-u-3

  5. Keep default selected for ‘Erase and install Ubuntu’. Then select ‘Install Now’. install-u-4

  6. Confirm installation and select ‘Continue’. install-u-5

  7. Select time zone and select ‘Continue’. install-u-6

  8. Enter your user account information and hostname, Node or workstation name. Keep other defaults and select ‘Continue’. install-u-7

  9. When prompted Reboot computer. install-u-8

  10. After reboot, login with credentials recorded in step 8. Click on User account for password prompt. install-u-9

  11. At the desktop Select the networking settings icon in title bar, expand Wired Settings, then select wired settings. install-u-10

  12. Select the IPv4 tab. Click the Manual radio button. Enter the IP address, netmask and default gateway parameters. Uncheck automatic switch for DNS server and enter your dns server ip address in the textbox. install-u-11

Install Node

On the Node server

  1. Open a terminal.
  2. Update system. At prompt enter the following commands
     sudo apt-get update
     sudo apt-get upgrade
    
  3. Install dependencies.
     sudo apt-get install openssh-server -y
    

    Do the following steps from the workstation.

  4. Open a terminal.
  5. Update system. At prompt enter the following commands.
     sudo apt-get update
     sudo apt-get upgrade
    
  6. Install dependencies.
     sudo apt install docker.io make -y
    
  7. Add user to the docker group.
sudo usermod -aG docker $USER
  1. Reboot computer.

  2. Login and open a terminal.

  3. Clone repository.

mkdir obada
cd obada
git clone https://github.com/obada-foundation/testnet
cd testnet
  1. Generate server certificates.
make certificates
  1. Add certificates to node server.
    1. Login to node server with admin credentials
    2. Open terminal and enter these commands.
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
vi authorized_keys

Append the contents of ssh/obada_node_ssh_key.pub to ~/.ssh/authorized_keys

~wq to save the file
chmod 600 authorized_keys
exit
  1. Enter rest from workstation, Edit Make file.

    Add –ask-become-pass to end of docker run command in make file, parameter begins with a double dash.

docker run \ 
-it \
--rm \
-v $(pwd)/ssh:/home/ansible/.ssh \
-v $(pwd)/deployment:/home/ansible/deployment \
-v $(pwd)/inventory:/home/ansible/inventory \
-v $(pwd)/testnets:/home/ansible/testnets \
obada/ansible \
ansible-playbook deployment/playbook.yml -i inventory --ask-become-pass
  1. Run make deploy.
    1. Enter password
    2. Enter 1 for Test net
  2. Node should be installed.

Network Playground

OBADA also provides a “Network Playground”. This is a complete self-contained installation of all the software to to simulate the entire working blockchain, including several validator nodes operating in consensus, on a single machine.

The Network Playground is highly technical and not required for operating a node nor for simple integrations. OBADA recommends doing a simple installation and understanding the reference design first. But for those interested in doing a more technical deep integration, the Network Playground provides an ideal test environment. You can download it from https://github.com/obada-foundation/local-network-playground.


Copyright © 2017-2024 OBADA Foundation