This guide explains how to set up a full node for the Hoosat Network (HTND) on a system. Running a node allows you to use features like a private local wallet or solo mining without relying on mining pools and their fees. It also contributes to the network's decentralization by participating in peer-to-peer communication.
Currently required CPU architecture are X86_64. ARM has floating point rounding problems.
Preferrably pruning:
Minimum pruning:
For archival node preferrably 2TB SSD or bigger.
Before you begin, ensure you have the following installed on your system:
sudo apt-get install build-essential
Open a terminal window then run the following command to clone the latest master branch of HTND repository from Github:
git clone https://github.com/Hoosat-Oy/HTND.git
This will download the HTND source code into a new folder named "HTND" in your current directory.
Navigate to the downloaded HTND directory using the cd command in your terminal:
cd HTND
Run the following command to compile and install HTND as a program:
go install . ./cmd/...
This will compile the HTND source code and place the executable files in the ~/.go folder.
You first need to find out where go install . ./cmd/...
command installed the compiled the HTND binaries. You can check with the following terminal command your Go binary path.
go env GOPATH
For Windows users it is by default cd C:\Users\<YourUsername>\go\bin
and for Ubuntu Linux it is by default cd $HOME/go/bin
.
Then you need to change with cd
to the directory.
cd C:\Users\<YourUsername>\go\bin
Another option:
cd (go env GOPATH)
cd bin
cd $HOME/go/bin
Another option:
cd "$(go env GOPATH)"
cd bin
You can skip to this part by downloading zip HTND node (Windows/Linux) and extracting the zip to your own location and opening terminal in that location.
Anyway there are basically three options for running the HTND node, each with different storage requirements:
This option uses minimal disk space but doesn't allow local wallet functionality. To run it, simply execute the following command in your terminal:
HTND.exe -a mainnet-node-1.hoosat.fi
./HTND -a mainnet-node-1.hoosat.fi
This option allows using a local wallet but requires more storage space than the purging node without a wallet. To run it, use the following command:
HTND.exe --utxoindex -a mainnet-node-1.hoosat.fi
./HTND --utxoindex -a mainnet-node-1.hoosat.fi
This option downloads and stores the entire blockchain on your system, requiring the most storage space. It also allows local wallet functionality. To run it, use the following command:
HTND.exe --utxoindex --archival -a mainnet-node-1.hoosat.fi
./HTND --utxoindex --archival -a mainnet-node-1.hoosat.fi
If the node starts successfully, you'll see messages in the terminal window indicating it's connecting to the network and performing other tasks. If you have just started the HTND node in terminal, then you will see that it is syncing with the network. The process is called IBD.
When IBD sync is done, it will start to display Accepted block XXXXXX via relay
after which you have succesfully synced. The IBD sync will happen always when you start the node.
If you encounter any issues during the process, refer to the Hoosat Network documentation or join the 🆘-ticket channel on our Discord server for assistance.
Running a full archiving node requires significant storage space as it downloads the entire blockchain. Consider your available disk space before choosing this option.
Make sure you keep the HTND node software updated for optimal performance and security.
You can update node in terminal by changing directory to the source folder of the node, then pulling updates, compiling and installing the updates.
cd location_of_htnd_source
git pull
go install . ./cmd/..
Then restart the node. That's it for updating from source.