Install Using Packages

Manual installation using pre-built packages

Install FIO Chain Node Using Packages

👍

Ubuntu 20.04

Ubuntu 20.04 is the official FIO version.

👍

Ubuntu 22.04

Ubuntu 22.04 is the latest version of Ubuntu tested and verified for use as a FIO blockchain node. FIO is also compatible with Ubuntu 20.04 as well as 18.04 (the latter being EOL at this time).

📘

Install Script

Check out the Install Script to perform an all-in-one installation, configuration and startup of FIO Chain

The following setup is for a FIO API Node installation using pre-built packages.

These packages are purpose-built to quickly bring up a node, including systemd, logrotate, apparmor, and compsec integration, and have reasonable defaults in the config.

Latest Release

Get the latest release from the FIO Releases for your Ubuntu OS.

Dependencies

Both the Ubuntu 20 and Ubuntu 22 packages depend on libicu60, which may be downloaded and installed using the following commands:

wget http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu60_60.2-3ubuntu3_amd64.deb
sudo apt install ./libicu60_60.2-3ubuntu3_amd64.deb

Download and validate install packages

Releases may be downloaded manually or pulled programmatically by:

curl -sO https://github.com/fioprotocol/fio/releases/download/v3.5.1/fioprotocol-3.5.1-ubuntu-20.04-amd64.deb
wget https://github.com/fioprotocol/fio/releases/download/v3.5.1/fioprotocol-3.5.1-ubuntu-20.04-amd64.deb

Verify checksum:

md5sum fioprotocol-3.5.1-ubuntu-20.04-amd64.deb

Compare to the checksum generated above with the ones found on the Official Release page

fa58a76c6667aa9c24caea51093b9c36  fioprotocol-3.5.1-ubuntu-20.04-amd64.deb

Remove existing history directories (optional):

This step should be performed only if you are upgrading from an older version, and you are NOT running a history node.

cd /var/lib
sudo rm -fr fio/data fio/history fio/history_index

Install the release

sudo apt install ./fioprotocol-3.5.1-ubuntu-20.04-amd64.deb
rm fioprotocol-3.5.1-ubuntu-20.04-amd64.deb

This will install the following files:

DirectoryFile/LinkType
/etc/apparmor.d/usr.local.bin.fio-nodeos
/etc/apparmor.d/usr.local.bin.fio-wallet
/etc/fio/nodeos/logging.json
/etc/fio/nodeos/config.ini
/etc/fio/nodeos/default-logging.json
/etc/fio/nodeos/genesis-mainnet.json
/etc/fio/nodeos/genesis-testnet.json
/etc/fio/nodeos/mainnet-config.ini
/etc/fio/nodeos/testnet-config.ini
/etc/fio/nodeos/genesis.jsonlink
/etc/fio/nodeos/protocol_features
/etc/logrotate.d/fio-nodeos
/etc/logrotate.d/fio-wallet
/lib/systemd/system/fio-nodeos.service
/lib/systemd/system/fio-wallet.service
/usr/local/bin/clio
/usr/local/bin/fio-nodeos
/usr/local/bin/fio-nodeos-run
/usr/local/bin/fio-wallet
/usr/local/bin/cleoslink
/usr/local/bin/fio-cleoslink
/usr/local/bin/nodeoslink
/usr/local/share/fio/README
/var/lib/fio/fio-wallet/config.ini
/var/lib/fio/fio-wallet/fio-wallet
/var/log/fio/nodeos.log

Check for error

To Monitor AppArmor logging for issues

Inspect either the file 'kern.log' or 'messages' located in /var/log, i.e.:

tail -f /var/log/kern.log

To Disable an AppArmor profile

sudo ln -s /etc/apparmor.d/usr.local.bin.fio-nodeos /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.local.bin.fio-nodeos

Re-enable an AppArmor profile

sudo rm /etc/apparmor.d/disable/usr.local.bin.fio-nodeos
sudo apparmor_parser -r /etc/apparmor.d/usr.local.bin.fio-nodeos

Set-up nodeos configuration file

The default genesis file is for startup of a mainnet node. If running a testnet node, copy the testnet genesis configuration file into place:

sudo cp /etc/fio/nodeos/genesis-testnet.json /etc/fio/nodeos/genesis.json

Configure and Run FIO Chain Node

See Configure Your Node