This guide will show every step to install a VeChain Thor environment based on a solo network. It is intended to get everything up and running fast and show how the different programs interact with each other. The SOLO network is a sandbox development mode for the VeChain Thor blockchain, that can be started (and is only available) on a single server. It is not publicly accessible and the generated blocks will be lost if the SOLO node is stopped.

Part 1 — Install VeChain Thor software

Part 1.1 — Install Debian 9 x64

VeChain can run on many different systems, including various Linux distributions and Windows. This guide however will focus on Debian 9 but should be easily adaptable to any other distribution. The installation of the base system will not be described here, since there are a lot of good guides out there but the following points should be kept in mind before the installation of the base system:

VeChain Thor can be I/O intensive and should be installed on SSD-based storage with at least 30GB

At least 2 CPUs and 4GB of RAM should be avalible (for this SOLO setup)

After the installation is done, the system will be updated and the needed packages will be added.

### Update System and install dependencies (as root)

apt-get update

apt-get -y install build-essential libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev git libcap2-bin

apt autoremove -y

apt-get clean

(Check here for a Windows Guide: https://medium.com/@michael_81043/how-to-build-and-use-vechain-thor-in-microsoft-windows-d538c66390e6)

Part 1.2 — Install VeChain Thor Node software

VeChain is build in GO. So before installing VeChain, GO needs to be set up. Since there is no appropriate Debian package for GO, it will be installed as followed:



cd ~

wget

tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz

chmod +x /usr/local/go/bin/go

rm go1.10.3.linux-amd64.tar.gz ### Install go (as root)cd ~wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gzchmod +x /usr/local/go/bin/gorm go1.10.3.linux-amd64.tar.gz

cd /usr/local/bin/

wget

ln -s dep-linux-amd64 dep

chmod +x /usr/local/bin/* ### Install dep (as root)cd /usr/local/bin/wget https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 ln -s dep-linux-amd64 depchmod +x /usr/local/bin/*

For security reasons, the VeChain Thor software itself will not run as root. Therefore a new user “thor-node” will be added and the needed environmet variables for GO will be set:

### Add Thor-Node user (as root)

useradd -m -d /home/thor-node -s /bin/bash thor-node

su - thor-node ### Set environment paths (as thor-node)

cd ~

touch ${HOME}/.profile

echo "export PATH=$PATH:/usr/local/go/bin" >> ${HOME}/.profile

echo "export GOPATH=$HOME/go" >> ${HOME}/.profile

export PATH=$PATH:/usr/local/go/bin

export GOPATH=$HOME/go

mkdir -p $GOPATH/src

source .profile

The Vechain software is downloaded from the official github and then installed:

### Install VeChain (as thor-node)

git clone https://github.com/vechain/thor.git $GOPATH/src/VeChain/thor

cd $GOPATH/src/VeChain/thor

make dep

make all

Part 1.3 — Start VeChain Thor SOLO node

Now that everything is set up, the solo node can be started.

The following command will run the solo node in the terminal and make it accessible on every IP on the system:

./go/src/VeChain/thor/bin/thor solo --api-addr 0.0.0.0:8669

After this command, the following output should appear:

Start of the VeChain Thor Solo Node

Part 1.4 — Understanding the SOLO node

The SOLO mode has some special features that need to be known before working with it: