Signum Node Installation

This software downloads and validates a complete copy of the Signum blockchain.  It is the required software for operating a synchronized node.  Its back-end database is H2. Advanced users and developers can elect to use other databases such as MariaDB.  To install using MariaDB, use the alternative installation instructions under the MariaDB tab.

Please note:  Although the installation instructions are lengthy, most steps are optional.  Synchronization with the blockchain is the most time-consuming individual step.

System requirements:

  • 64-bit version of Windows is recommended
  • 64-bit version of Java (Java 8 recommended):  https://www.java.com/en/download/
  • A web browser that is compatible with 64-bit java.  ( Google Chrome, Edge, and the ESR version of Firefox.  )  The regular version of Firefox is not supported.
  • Sufficient disk space for the complete blockchain (~8Gb or so)
  • Ability to leave a computer running for several hours while the blockchain synchronizes

Preliminary installation instructions:

  • Download the latest version of the software.
  • Extract the contents to a location of your choice.
  • Open the “conf” folder.
  • Create a copy of the “brs-default.properties” file
  • Rename it as “brs.properties.”
  • Run the “burst.exe” file.
  • Follow the prompts to allow the installation program to make changes to your computer.
  • A window will appear with scrolling data and synchronization progress.  Synchronization may take several hours, depending on your internet connection and processor speed.

Start wallet

  • Click on “Start Wallet.”  It may take several minutes for the button to become operational.
  • Your new wallet should appear in your default browser tab.

Reserve a Signum Account

  • If you already have a Signum account, enter the passphrase for the account and skip the remainder of this section.  Otherwise, Click “DON’T HAVE AN ACCOUNT, CLICK HERE TO CREATE ONE.”
  • Make a record of the passphrase that is generated automatically (12 words).  This passphrase ( private key ) is required to access your wallet and Signum.  Please review the security sections of the getting started guide for information on securing your Signum.
  • Follow the confirmation step on the next page and click “Next.”
  • You should now see the wallet dashboard.

Synchronized Public Nodes

Allowing your software to run continuously as a synchronized public node is one of the most important ways that you can support the continued decentralization of the Signum network.  Additionally, you can earn NDS-A rewards when your node operates at a qualifying standard.  Operating a synchronized node as a public node is completely optional.  Normal wallet functions are not affected by this decision.

Signum Node operates as a synchronized public node by default whenever it is running by using UPnP (universal plug and play). However, this functionality may be blocked by your internet router.

To test your connectivity:

  • Visit https://ismyportopen.com with the Signum Node running.
  • Enter “8123” into the port field and click on “check.”

If your port is open:

  • No further action is necessary.  To earn NDS-A awards for operating a synchronized public node, select NDS-A-Award from the “Getting Started” menu.

If your port is closed:

  • Reserve a static IP address for your computer.  This prevents the IP address from changing and negating port forwarding rules when the computer is restarted.
  • Access your router settings to allow internet traffic on port 8123.

To reserve a static IP address for your computer, use the following procedure or skip to the next section for an alternative using DCHP reservation.

  • Open a “Command Prompt” by typing CMD into the Windows search field and clicking on “Command Prompt.”
  • Type “ipconfig” and hit enter.
  • Locate and record your “IPv4 Address, “Subnet Mask,” and “Default Gateway.”
  • Open “Control Panel, “Network and Internet,”  “Network and Sharing Center,” “Change Adapter Settings.”
  • Right-click your internet connection method (wi-fi or ethernet) and select “Properties.”
  • Remove the checkmark located next to “Internet Protocol Version 6 (TCP/IPv6)” if present.
  • Add a checkmark next to “Internet Protocol Version 4 (TCP/IPv4)” if one is not there already.
  • With “Internet Protocol Version 4 (TCP/IPv4)” selected, click on “Properties.”
  • Select “Use the following IP address.”
  • In “IP address,” type your computer’s IPv4 address.
  • In “Subnet Mask,” type your computer’s “Subnet Mask.”
  • In “Default Gateway,” type your computer’s “Default Gateway.”
  • Select “Use the following DNS server addresses.”
  • In “Preferred DNS server,” type “8.8.8.8.”
  • In “Alternate DNS server,” type “8.8.4.4.”
  • Check “Validate settings upon exit.”
  • Click “OK.”
  • If you receive a warning about “Multiple default gateways,” select “Yes.”
  • Click “Close.”

DHCP Reservation.  This is an alternative method for reserving a static address IP address.  If you followed the steps above to reserve a static IP address, skip this section.

  • These steps would only be followed if supported by your router.
  • Navigate to “Connected Devices” (terminology for your router may be different).
  • Click on the device that you are using to run your node.
  • Select “Edit.”
  • Change configuration to “Reserved IP.”
  • Verify that the IP is the same one you set in port forwarding.
  • Select “Save.”

Configure port 8123 to allow port forwarding:  This is only necessary if any of the following are true:

  • Your external IP address does not show port 8123 when your software is running.
  • Your external IP address does not appear in the network explorer within 3 hours.
  • Neither “UPnP Mapping successful” or “Port was already mapped. Aborting test” can be found in the Signum GUI.
  • Open your internet router’s settings by entering your default gateway into your browser’s URL field and hitting enter.
  • Enter your username and password to access your internet router’s settings.  Most ISPs have a default username and password combination.

If you do not know the login information, check for it on the side of your modem, locate it using an internet search, or contact your ISP.  If the login information for your router has been changed from the default and you cannot locate the information, you will need to contact your ISP or do a router factory reset.  Please note:  This recommendation does not contemplate the extent of your computer network setup.  Resetting your router may require you to redo your network setup.  For most users and those who do not have an extensive computer network, this should not be a problem.

Please note:  Although port forwarding is a common configuration, different modems may use different steps and terminology.  It is not possible to provide the exact steps for each modem.  It may be necessary to reconcile the precise terminology and steps to effect the transition from a closed port 8123 to an open port 8123.  If the following guidelines do not seem to make sense for your particular router, contact your internet service provider (ISP) for support. 

Find the “Port Forwarding” option (possibly under a “firewall” or “Advanced” tab).  “Port Forwarding” and “Port Triggering” are NOT the same.  Most modems only need the following three items to be configured, either as individual settings or combined in a “service” that is activated separately.

  • IP address:  Enter your IPv4 IP address manually, or select it from a drop-down menu if one is available.
  • Set all of the following to “8123”:  Internal WAN Start port, External WAN End port, Internal LAN Start port, External LAN End port:  There will be either 2 or 4 such entries to make.
  • For the Protocol or Service Type, use “TCP and UDP.”

Additional items that you may encounter depending on your router include:

  • Enable?:  Indicate “yes” by checking a box or making a selection.
  • Common Service:  Use “Other.”
  • Service or Rule Name:  Use “Signum.”
  • IPv6 Address field:  Ignore this item.

To finish, close network settings.  Verify that your synchronized public node is operational by locating your external IP address in this network explorer.  As a new node, it will initially appear near the end of the list and then move up the list as time passes.  If your external IP address appears in the explorer, everything is set up correctly.

This software downloads and validates a complete copy of the Signum blockchain.  It is the required software for operating a synchronized node.  Its back-end database is H2. Advanced users and developers can elect to use other databases such as MariaDB.  To install using MariaDB, use the alternative installation instructions under the MariaDB tab.

  • Main Developer:  Signum Network

System requirements:

  • OSX 10.10 or higher
  • Sufficient disk space for the full blockchain (~8Gb or so)
  • The ability to leave your computer running for several hours to allow the full blockchain to synchronize.

Preliminary installation instructions:

Note: A simple bash script is available to complete all of the steps for you if you prefer using a script. Download a .zip of the code located at https://github.com/beatsbears/macos_burst and follow the directions in the README file. If you prefer to execute each step without using a script, continue the process below.

  • Download the latest version of BRS.
  • Extract the contents to a location of your choice.

Install Homebrew

Homebrew (brew) is an excellent package manager for macOS.  To install, open a new terminal and run the following command.  You may be asked for your password.

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

If you already have brew installed, make sure everything is up to date by entering the following:

$ brew update

Install MariaDB

MariaDB knowledge base: https://mariadb.com/kb/en/documentation/

$ brew install mariadb

Start MariaDB and create a user for the wallet

$ brew services start mariadb

Log into MariaDB to create a new wallet database and add a user to manage it. Your MariaDB server may not have a root password set. Consult google for instructions for setting a new root password.

$ mysql -u root -p -h localhost

While logged into MariaDB, execute the following SQL commands:

CREATE DATABASE burstwallet; CREATE USER 'burstwallet'@'localhost' IDENTIFIED BY '<YOUR PASSWORD>'; GRANT ALL PRIVILEGES ON burstwallet.* TO 'burstwallet'@'localhost';

If these commands executed successfully, exit the MariaDB console by typing q and hitting Enter.

 

Install Java 8 SDK

Brew gives you the latest version of all packages, but the latest version of Java may not work without issue. You can install the latest verified version (Java 8) by following these steps.

Install brew cask.

$ brew tap caskroom/cask

Use brew cask to install a specific version of a package.

$ brew cask install java8

Add password to the nxt.properties file.

Locate and open the conf directory in the location where you unzipped the installation package.

Open   nxt.properties  with a text editor.

Add the following lines at the end of the file to tell Java where to find the MariaDB database.  Replace <YOUR PASSWORD> with the password created previously.

nxt.dbUrl=jdbc:mariadb://localhost:3306/burstwalletnxt.dbUsername=burstwalletnxt.dbPassword=<YOUR PASSWORD>

Start the wallet

In your terminal window, verify that you are in the same directory as the burst.sh startup script.  If you run ls in your terminal window, you should see a response similar to the following:

Slow-Air:signum-1.3.6cg andrewscott$ 1s

Signum_Wallet.url          burst.sh         html

MIT-license                  burst_db        lib

burst.cmd                     conf

burst.jar                       genscoop.c1

In your terminal window, use the following command to verify that your permissions will allow you to execute the startup script.

chmod +x burst.sh

Launch the wallet script.  You will need to leave this terminal window running until the full blockchain has synchronized. This could take several hours or days, depending on your processor speed and internet connection.

./burst.sh

You should see a lot of output flying by as the wallet starts up.

Create your account or sign in with an existing Signum Account.

Verify that it is running successfully by entering the following in your browser’s URL field:

“https://” “localhost:8125/index.htm”

Your wallet should appear.

Note:  The blockchain may take several hours to download

References:

This software downloads and validates a complete copy of the Signum blockchain.  It is the required software for operating a synchronized node.  Its back-end database is H2. Advanced users and developers can elect to use other databases such as MariaDB.  To install using MariaDB, use the alternative installation instructions under the MariaDB tab.

  • Main Developer:  Signum Network

Requirements:

  • Sufficient disk space for the full blockchain (~8Gb or so)
  • The ability to leave your computer running for several hours to allow the full blockchain to synchronize.

Make sure your installation is up to date  apt update && apt upgrade

Install the latest version of Java: apt install default-jre-headless -y

Download and extract the latest version of BRS to your preferred location.  In the conf directory, make a copy of the brs-default.properties file and edit it to suit your needs.  Otherwise, the brs.properties will with defaults.

In the folder where you extracted the zip file contents, run the following:  java -jar burst.jar

To run without the GUI (logs, percentage of blockchain synchronization, etc.), run as  java -jar burst.jar --headless.

Installing MariaDB (alternative)

To use MariaDB as an alternative to the included H2 database (store on folder burst_db), use the following procedures in addition to the procedures above.  (Stop BRS from running before proceeding).

Install MariaDB:

apt install mariadb-server

During installation, you will be prompted to enter a password for the root user. Enter and remember this as we will need it later.

Create a database(brs_master) and a user (brs_user).  Assign a password to the user by running the following command:

echo "CREATE DATABASE brs_master; CREATE USER 'brs_user'@'localhost' IDENTIFIED BY 'yourpassword'; GRANT ALL PRIVILEGES ON brs_master.* TO 'brs_user'@'localhost';" | mysql -uroot -p mysql -uroot -p < init-mysql.sql

This will prompt you for the password you entered for the root user when installing MariaDB

Configuring Signum Node to use MariaDB

Navigate to the conf subdirectory within your Signum Node directory:

cd BRSWallet/conf

Create a brs.properties file inside the conf folder:

nano brs.properties

Add the following lines:

DB.Url=jdbc:mariadb://localhost:3306/brs_master DB.Username=brs_user DB.Password=yourpassword

Run BRS again:

java -jar burst.jar

You will see something similar to the following output:

  • Nov 29, 2018 4:28:33 PM brs.Signum loadProperties
  • INFO: Initializing Signum Reference Software (BRS) version 2.5.0
  • Nov 29, 2018 4:28:33 PM org.ehcache.core.EhcacheManager createCache
  • INFO: Cache 'account' created in EhcacheManager
  • [INFO] 2018-11-29 16:28:33 brs.db.sql.Db - Using mariadb Backend

Note: If closing the terminal or pressing Ctrl-c, the node will shutdown:

[INFO] 2018-11-29 16:53:12 brs.Signum - Shutting down...

Configure BRS to run as a service/daemon

Closing the terminal or pressing Ctrl-c will close the software. To avoid this, BRS should be run as a service. It is beneficial to run BRS on a Linux system using SSH.

If systemd isn’t installed on your system, run the following command:

sudo apt install systemd

Then, you will have to create a new service file for BRS:

sudo nano /etc/systemd/system/brs.service

Add the following configuration (replace description, Exec, WorkingDirectory, and User according to your setup):

[Unit]

  • Description=BRS Wallet
  • After=network.target
  • Wants=network.target

[Service]

  • ExecStart=/usr/bin/java -jar /home/burst/burst.jar
  • WorkingDirectory=/home/burst/
  • User=brs-mariadb
  • Restart=always
  • RestartSec=90

[Install]

  • WantedBy=multi-user.target

Enable the service:

sudo systemctl enable brs.service

Start the service:

systemctl start brs.service

Get service status:

systemctl status brs.service

This software downloads and validates a complete copy of the Signum blockchain.  It is the required software for operating a synchronized node.  Its back-end database is H2. Advanced users and developers can elect to use other databases such as MariaDB.  To install using MariaDB, use the alternative installation instructions under the MariaDB tab.

  • Main Developer:  Signum Network
  • Docker
  • Docker-Compose

System requirements:

  • Sufficient disk space for the full blockchain (~8Gb or so)
  • The ability to leave your computer running for several hours to allow the full blockchain to synchronize.

Prerequisites:

Database:

  • Docker images for BRS version 2.3.0 with MariaDB (recommended)
  • H2 Database is available at Docker Hub (alternative)

MariaDB

Use the following docker-compose.yml file to run Signum Node with MariaDB database in containers.  Note:  Indentation levels are 2, 4, and 5 characters.

version: '3'

services:

   burst:

   image: pocconsortium/burst:2.2-mariadb

     restart: always

    depends_on:

      - mariadb

     ports:

      - 8123:8123

      - 8125:8125

   mariadb:

     image: mariadb:10

     environment:

      - MYSQL_ROOT_PASSWORD=burst

      - MYSQL_DATABASE=burst

     command: mysqld --character_set_server=utf8mb4

     volumes:

      - ./burst_db:/var/lib/mysql

Save and run the file.

docker-compose up -d

With the -d flag, both containers are started as background processes.  A burst_db folder will be created in the directory of the docker-compose.yml file if it was not created before. This folder is mounted to the MariaDB storage and holds the Signum database containing the blockchain. The containers can be stopped and removed at any time via docker-compose down. With the next start, the burst_db folder will be mounted again, and your previous blockchain status will be loaded.

H2

H2 can be used as an alternative to MariaDB.  Because it is an embedded database, it does not have to be run in a separate container.

Run the following command:

docker run -p 8123:8123 -p 8125:8125 -v“$(pwd)”/burst_db:/etc/signum/burst_db -d pocconsortium/signum:2.2-h2

“$(pwd)”/burst_db is the path to the folder which is mounted to the H2 storage. If it does not exist, a new burst_db folder is created in the current directory.

Custom configuration

To use a custom configuration, mount a folder containing the brs-default.properties and the brs.properties to the /conf mount point.

Installation using MariaDB (try this if you experience issues with H2, are an advanced computer user, have a Linux machine with MariaDB already installed)

  • Download and install MariaDB: https://downloads.mariadb.org/
  • The MariaDB installation will ask to set up a password for the root user.  Open the brs.properties file created previously and locate the following section:
  • DB.Url=jdbc:mariadb://localhost:3306/burstdatabase DB.Username=root DB.Password=YOUR_PASSWORD
  • Replace “YOUR_PASSWORD” with the password for the root user.

The MariaDB installation will install HeidiSQL, a graphical user interface (GUI) tool used for MariaDB administration.

  • Use it to connect to the newly created MariaDB server and create a new DB called ‘burstwallet.’

Alternatively, you can use the following commands to create the database using the console to connect directly to MySQL:  If you have already created the database using HeidiSQL or are not comfortable working in the console, skip to the final step in this section.

  • mysql -u root -p
  • CREATE DATABASE burstwallet;

Create a user to be used by the wallet to access the database.  Replace with a password of your choice.

  • CREATE USER 'burstwallet'@'localhost' IDENTIFIED BY '';       

Grant this user all privileges for the database burstwallet.

  • GRANT ALL PRIVILEGES ON burstwallet.* TO 'burstwallet'@'localhost';

Run burst.cmd in the Signum folder.

Return to the Windows Installation Guide and continue with the section titled “Start your Wallet” to finish any steps that may be applicable.

To contact the development team or request assistance with anything related to this project, please contact us on the Signum Discord channel.

13 + 5 =