Taproot Setup Guide

This guide covers the installation of Taproot, the server component of Heartwood, assuming a clean machine to install Taproot on. At the time of writing Taproot has only been tested on Ubuntu 22.04 however, more distros will be tested and guides prepared for each distribution.

The installation .iso that can be used for a clean installation can be downloaded from here.

Licensing Heartwood / Taproot

A complete guide to licensing Heartwood and Taproot can be found here

Setup steps

As usual, before starting the setup procedure perform the apt update / upgrade process

sudo apt update
sudo apt ugprade

1. Installing Postgresql

If you haven't done so already, we need to install postgresql-12. In order to do so we need to include the postgres package repository and then install postgresql-12. This can be done by running the following commands.

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

sudo apt update
sudo apt -y install postgresql-12

You can confirm that postgres installed and the service running with the following command:

sudo systemctl status postgresql.service
sudo systemctl is-enabled postgresql

2. Preparing the Taproot database and user

Now thatWpostgres installed and running we need to add the Taproot database user and create the Taproot database. To be able to modify the postgres databases we need to reach psql level by following:

sudo su - postgres
psql

To view the current state of the postgres databases run the command \l

In order to fully prepare postgres we need to run the commands:

CREATE USER taproot WITH ENCRYPTED PASSWORD 'heartwood';
CREATE DATABASE taproot;
ALTER DATABASE taproot OWNER TO taproot;

After which you can exit out of by pressing Ctrl + D twice.

Note: The password will be changed once Taproot is installed and run however, if it is not this default password Taproot will not be able to log into the database and run properly.

Optional: The database name and the user can be changed within the Taproot configuration file however, the initial password for the user must be heartwood as shown above, including modifying the owner of the database to the user. If not, then as aforementioned Taproot will not be able to properly configure the database. Only change these parameters if you know what you are doing.

3. Installing Taproot

curl https://lmbd.hopto.org/Download/Taproot.deb --output Taproot.deb
sudo dpkg -i ./Taproot.deb
rm ./Taproot.deb # Just to remove the left over file

4. Opening ports

By default Taproot will use ports:

  • tcp/9091
  • tcp/9095

Thus, it is recommended to confirm within your network configuration and firewall that these ports are open in order for the Heartwood client to connect and communicate. If you are using ufw as your firewall these ports can be opened using:

sudo ufw allow 9091/tcp
sudo ufw allow 9095/tcp

The opening of these ports can then be verified with:

sudo ufw status

5. Initial log in

The latest version of Heartwood can be downloaded from here. Once installed, and launched Heartwood will attempt to connect to Taproot on a dummy address and will fail. With Heartwood up and running you need to change the Taproot Address to the address your Taproot instance is running on. When altered Heartwood needs to restart in order to align versions between your Taproot instance and your Heartwood client.

The default log in details for Heartwood / Taproot is:

  • Handle: rooty
  • Password: heartwood

These are for the prime user, #USR/0001, and the handle and password can be changed within the Admin module, or Edit Profile by clicking rooty in the top-right hand corner.

There should be 3 modules viewable at this stage:

  • Admin
  • Contacts
  • Settings

Error: Taproot server / package server not online

If the Taproot server is not online, or an incorrect ip address has been provided then Heartwood will fail to handshake with the server. Here it is recommended to double check the ports and network connectivity to the desired server. Once verified, then attempt to restart Heartwood for the handshake and connectivity to the server.

To manually check the connection to the server you can run, replacing taproot.address with your Taproot instance address:

curl https://taproot.address:9095/Handshake -k -i

The correct status code responded should be 418.

6. Activating a trial

To activate a trial, navigate to the Admin module and then to the Licence unit within the bar of the left hand side of the screen. The names of each unit can be seen by expanding the menu by pressing the arrow button.

Once within the Licence unit, the trial can be activated by clicking Activate Trial and then double clicked the Confirm button on the pop up the appears.

This will generate an offline licence with 5 seats for each available module for a period of 14 days. The available modules are:

  • Minutes
  • Scribe
  • Req

Taproot will then proceed to restart, also forcing a closure of Heartwood in order to download the correct modules and all the modules will be available for use for evaluation.

Misc parameters

Autoupdating

By default, Taproot will have the auto-updating mechanism turned on and this will ensure that you will have the latest updates at all times. This feature can be turned off via the Admin module or the configuration file and restarting Taproot with the command:

sudo systemctl restart taproot

Legal