Note: This guide should work for most apt-based distributions, such as:
- Ubuntu, recent versions
- Debian, recent versions
- Kali Linux
- MX Linux
Ixian was tested on Ubuntu (16.04+), Fedora (28+), Centos 7.
Installing an Ixian DLT Node on Linux (Debian/Ubuntu clones)
- Operating system: apt-based Linux distribution, such as Debian or Ubuntu
- RAM: 4 GB, Recommended 8 GB
- CPU: i3/i5/i7/Xeon or AMD equivalent with at least 2 GHz and at least 4 CPU threads
- Free Disk Space: 100 GB, 500 GB Recommended
- Internet Connection Speed: 10 Mbps symmetrical or higher, 100 Mbps recommended
- Ability to forward a port from the public internet to the machine running the DLT Node. (Default port is TCP 10234.)
- A minimum of 2000 IXI is required to operate an Ixian DLT master node.
Make sure you have the latest package repositories
Before beginning Ixian installation, it is recommended to update your package manager to the latest package database. On Ubuntu-based systems this is done with the following command:
sudo apt update
Install required software
- Install a recent Mono release for Linux by following the guide for your Linux distribution here: Mono Installation Guide. When installing, use the “mono-devel” package:
sudo apt install mono-devel
- Install additional required packages:
sudo apt install nuget msbuild git gcc unzip
- Prepare a directory for the Ixian Project:
mkdir ~/Ixian cd ~/Ixian
- Acquire the latest Ixian sources from github. Two repositories are required to build a DLT Master node:
git clone -b master https://github.com/ProjectIxian/Ixian-Core.git git clone -b master https://github.com/ProjectIxian/Ixian-DLT.git
The directory structure should look like this:
. .. Ixian-Core Ixian-DLT
- Switch into the
Ixian-DLTdirectory and execute rebuild.sh script:
cd Ixian-DLT sh rebuild.sh
The script will build all necessary files, which will be located in ‘~/Ixian/Ixian-DLT/IxianDLT/bin/Release’ If you encounter errors during the rebuild process, make sure that you have installed mono correctly as described in step 1 of this guide.
- Switch to the Ixian binaries folder:
- (Optional) Download and unpack the bootstrap data files to enable faster synchronization:
cd ~/Ixian/Ixian-DLT/IxianDLT/bin/Release curl https://www.ixian.io/data1to300k.zip -o data1to300k.zip unzip data1to300k.zip rm data1to300k.zip curl https://www.ixian.io/data300kto600k.zip -o data300kto600k.zip unzip data300kto600k.zip rm data300kto600k.zip curl https://www.ixian.io/data600kto700k.zip -o data600kto700k.zip unzip data600kto700k.zip rm data600kto700k.zip curl https://www.ixian.io/data700kto800k.zip -o data700kto800k.zip unzip data700kto800k.zip rm data700kto800k.zip curl https://www.ixian.io/data800kto850k.zip -o data800kto850k.zip unzip data800kto850k.zip rm data800kto850k.zip curl https://www.ixian.io/data850kto900k.zip -o data850kto900k.zip unzip data850kto900k.zip rm data850kto900k.zip curl https://www.ixian.io/data900kto950k.zip -o data900kto950k.zip unzip data900kto950k.zip rm data900kto950k.zip
The Ixian DLT node is now ready to start.
Running the software
Switch to the Ixian DLT binaries folder and issue the command to start the Ixian DLT software:
The output should look like this:
** Side Notes:
- On some systems we have noticed a problem with libargon2.so when built from source, causing an exception in DLT when trying to verify PoW transaction or when mining.
Luckily Ubuntu (and possibly other distributions) provides its own libargon2.so, located in ‘/usr/lib/x86_64-linux-gnu/libargon2.so.0’, you can simply replace the compiled version:
cp /usr/lib/x86_64-linux-gnu/libargon2.so.0 ~/Ixian/Ixian-DLT/IxianDLT/bin/Release/libargon2.so
Creating a wallet
If this is the first time that you’re starting Ixian DLT, a new wallet will be generated for you. You have to set your new wallet’s password to proceed. This password will be used to encrypt the ixian.wal wallet file and will be required every time you start the Ixian DLT node.
It is recommended to periodically copy the wallet to a safe location, preferably on an offline media (USB Key), or a different machine. The file is encrypted using AES256. The wallet file is called ixian.wal.
Verifying the status of the DLT Node
While the node is running, it will display a logo and some basic information in the command window. Please do not close this window, as closing it will cause the DLT Node to shut down.
When the Ixian DLT Node first starts, the status text will display synchronizing while the software is retrieving the required information from the DLT network. When this process has been completed, the status text will change to active.
If the DLT Node is shut down and later restarted, it will have to synchronize again, but since most of the data will already be stored on the local disk, the synchronization phase will be much shorter.
Using your Ixian wallet
In order to interact with the running DLT Node and use the built-in wallet software, open a web browser and navigate to http://localhost:8081.
If you have configured a different API Port, then change the port number in the link like so: http://localhost:PORT_NUMBER.
The Ixian built-in Wallet looks like this:
Changing the settings
Ixian DLT Node settings are provided on the command line when starting the IxianDLT executable. The most important parameters are:
- -p DLT Port: If you are for some reason unable to port-forward the default port, 10234, you may use a different port. The
-pswitch will change which port the software uses for DLT communication.
- -i External IP address: The IxianDLT software will use UPnP to try and determine the external IP address of your node. If this fails for some reason, you can specify the external address using the
- -a API Port: This changes the port on which the node accepts API commands, as well as the port on which the built-in wallet operates. If you provide a different API port, then the built-in wallet for the node will be at http://localhost:API_PORT.
- –threads: Tells the DLT Node how many threads to create for the internal Ixian Miner. Default is 2. Use
--disableMinerto prevent the DLT Node from mining IXI Coins.
- –disableMiner: Tells the DLT Node not to start the built-in Ixian Miner.
- –help: Displays a short help with some other, less frequently used command options.
If you need to run the DLT Node with different settings, it can be tedious to type them out every time you wish to start the software. It is recommended to create a shell script (.sh) with the options already set. To do this, follow the guide below:
- Switch to the unpacked Ixian DLT folder. If you have followed the above instructions for building, the command should be
- Create a new script using your preferred text editor. This example uses nano:
- Type or paste the IxianDLT command into the file. You may use the command below, which includes the most common options, as the starting point.
IxianDLT.exe -p 10234 -a 8081 --threads 2
- Save the file and quit the editor. For nano, the command is
- Make the script file executable:
chmod u+x StartXian.sh.
- Use the new “StartIxian.sh” file to start the DLT Node with the specified options
Upgrading the DLT Node software
When a new version is released, you can upgrade the software using the following checklist:
Note: It is recommended to backup the wallet file ixian.wal before performing any upgrade or changing any settings on the command line.
Note: We assume that you have followed the above instructions and the Ixian directory names are as follows:
If you have placed the Ixian source code folders elsewhere, change them in the below description. Furthermore, if you copied the executable files from the bin/Release folder someplace else, you will need to repeat the copy step to overwrite old executable files with new ones.
- Save the Ixian wallet file:
cp ~/Ixian/Ixian-DLT/IxianDLT/bin/Release/ixian.wal ~/ixian.wal.backup.
- Shutdown the Ixian DLT Node.
- Switch to the Ixian-Core directory:
- Update the sources to the latest version:
- Switch to the Ixian-DLT directory:
- Update the sources to the latest version:
- Compile the new sources:
- Start the Ixian DLT Node again. The node will use the existing wallet file and downloaded data, so it will not need to generate a new wallet or synchronize again.
See DLT Node Configuration options for details.