Skip to content
/ ubiq Public

Bash scripts related to configuring and maintaining nodes for the Ubiq blockchain on ARM-based single-board computers.

Notifications You must be signed in to change notification settings

maaatttt/ubiq

Repository files navigation

Ubiq

ARM-based single-board computers as nodes for the Ubiq blockchain.


This README provides some general instructions for the initial setup of the system, and some detail about the various bash scripts used in guides produced for the Ubiq community to encourage anyone who is interested to set up their own node.


These steps assume an ethernet connection / headless setup / accessed via SSH / an SSD drive for storage.

  • Download the OS for your hardware -

  • Raspberry Pi uses Raspberry Pi OS, the other boards use Armbian.

  • Flash OS to microSD card (or SSD*).

  • If you must use WiFi instead of a wired ethernet connection you can set up the connection inside your OS config utility.

    • Raspberry Pi - sudo raspi-config
    • Armbian - armbian-config
  • First boot / Log In

    • micro SD boot : Connect the SSD drive being used for storage to the system before starting up.

    • SSD boot : Be sure there is no microSD card installed before starting up.

    • Logging in via SSH -

      • Raspberry Pi - log in with ssh user@youripaddress ( Defaults - user : pi / passwd : raspberry )

      • Armbian - log in with ssh user@youripaddress ( Defaults - user : root / passwd : 1234

      • Note! Raspberry Pi users should use their OS config utility ( raspi-config ) to change the pi user default password

      • Note! Armbian users will be prompted to create a non-root user when booting a new system. Name that new user node.

      • Note! The ubiq-config tool will prompt you to set your timezone when you attempt to spin up a node, you do not need to do it beforehand.

  • Download and install the ubiq-config.sh utility.

    • wget https://raw.githubusercontent.com/maaatttt/ubiq/master/ubiq-config.sh
    • sudo chmod 755 ubiq-config.sh
    • sudo mv ubiq-config.sh /usr/bin/ubiq-config
  • Use ubiq-config by inputting ubiq-config into the terminal at any time.


Scripts enabling the functionality for ubiq-config listed below.

Any older unused scripts are labeled as DEPRICATED.

This is the bash script that comprises the ubiq-config utility. A text-based user interface that allows users to manage the functionality of their Ubiq node through an easy-to-use graphical implementation for the command-line. It makes possible the installation of the node.sh script. , gu.sh script, and the auto.sh script, as well as various update commands and shutdown procedures.


This script handles all the commands for the primary Ubiq node setup procedure. It will configure directories, download requisite software, and prompt the user for inputs such as node name, passwords, and desired sync method.

It is currently intended for the following hardware:

  • Raspberry Pi 3B / 3B+ / 4B (Raspberry Pi OS - 32bit)
  • Asus Tinkerboard / Tinkerboard S (Armbian - 32bit)
  • Odroid XU4 (Armbian - 32bit)
  • Odroid C2 (Armbian - 64bit)
  • Libre LePotato (Armbian - 64bit)

Software downloads; apt-related system software, supervisor, htop, git, ntp, gubiq


This script handles all the commands to update the running instance of gubiq on any node that was configured using the node.sh script.

To simplify the procedure for updates, the gu.sh script is offered as an option during the initial node setup. The file will delete itself upon completion of the it's task to avoid conflicts as version numbers change.

Software downloads; apt-related system software, gubiq


This script is run as part of an optional cron job that re-fetches an update script monthly. It is downloaded as part of the initial node setup script. The updater downloads the gu.sh script, which runs the update commands, then deletes itself to prevent file name conflict when the cron job runs again the following month.

Automatic updates to gubiq resulting from the gu.sh script will only be release versions, and never pre-release beta versions.



The scripts below are no longer used in these processes

DEPRICATED

DEPRICATED

This script handles all the commands for the primary Ubiq node setup procedure. It will configure directories, download requisite software, and prompt the user for inputs such as node name, passwords, and desired sync method.

It is intended to run on a (32bit) Raspberry Pi 3B or 3B+ running Raspbian Lite, where the OS boots from a microSD card, and the system has an attached USB mass storage device for chaindata.

Software downloads; apt-related system software, supervisor, htop, git, ntp, gubiq


DEPRICATED

This script handles all the commands for the primary Ubiq node setup procedure. It will configure directories, download requisite software, and prompt the user for inputs such as node name, passwords, and desired sync method.

It is intended to run on a (32bit) Raspberry Pi 3B or 3B+ running Raspbian Lite, where the OS boots directly from the external media, and the system does NOT use a microSD card.

Software downloads; apt-related system software, supervisor, htop, git, ntp, gubiq


DEPRICATED

This script handles all the commands for the primary Ubiq node setup procedure. It will configure directories, download requisite software, and prompt the user for inputs such as node name, passwords, and desired sync method.

It is intended to run on a (32bit) system such as the Asus Tinkerboard running Armbian, where the OS boots from a microSD card, and the system has an attached USB mass storage device for chaindata.

Software downloads; apt-related system software, supervisor, htop, git, ntp, gubiq


DEPRICATED

This script handles all the commands for the primary Ubiq node setup procedure. It will configure directories, download requisite software, and prompt the user for inputs such as node name, passwords, and desired sync method.

It is intended to run on a (64bit) system such as the Ordoid C2 running Armbian or the Libre LePotato running Armbian, where the OS boots from a microSD card, and the system has an attached USB mass storage device for chaindata.

Software downloads; apt-related system software, supervisor, htop, git, ntp, gubiq


DEPRICATED

This script handles all the commands to update the running instance of gubiq on a system configured using node3.sh. To simplify the procedure for future updates, the gu.sh script will delete itself upon completion of the it's task.

It is intended to run on a (64bit) system such as the Ordoid C2 running Armbian or the Libre LePotato running Armbian.

Software downloads; apt-related system software, gubiq


This script handles reconfiguing aspects of older, pre-"node.sh" systems to remove depricated applications and add the neccessary inputs to allow the node to continue to appear on the Ubiq Network Stats Page. The script will prompt the user for inputs such as node name & passwords.

Applicable nodes must be synced and using Supervisor to make use of this script.

This script is intended to run on a (32bit) Raspberry Pi 3B or 3B+ running Raspbian Lite, or a (32bit) Asus Tinkerboard running Armbian.

Software downloads; apt-related system software, gubiq


DEPRICATED

This script is run as part of an optional cron job that re-fetches an update script monthly. It is downloaded as part of the initial node setup script. The updater downloads the gu2.sh script, which runs the update commands, then deletes itself to prevent file name conflict when the cron job runs again the following month.

It is intended to run on a (64bit) system such as the Ordoid C2 running Armbian or the Libre LePotato running Armbian.

Automatic updates to gubiq resulting from the gu2.sh script will only be release versions, and never pre-release beta versions.


Acknowledgments

Special thanks to the Ubiq developers, the Ubiq Community, and the authors of open software used in these processes.

About

Bash scripts related to configuring and maintaining nodes for the Ubiq blockchain on ARM-based single-board computers.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages