https://iotexlab.io

What You'll Learn

What You will Need

Before we can install the full node on our ARM board, we need to install a Ubuntu OS image. Depending on the board you are using, you should download the correct OS image. Below some examples:

Raspberry Pi 3 b+

Download Link

Defult login: ubuntu
Default password: ubuntu

Raspberry Pi 4 b

Download Link
This is currently the only (unofficial) version of Ubuntu for the Raspeberry Pi 4 b

Defult login: ubuntu
Default password: ubuntu

Odroid N2

Download Link

Defult login: odroid
Default password: odroid

https://iotexlab.io

Download Etcher

Download Link

Flash the OS image

Power on your board

Configure your router

If you don't know how to do that, check out this YouTube Video for an example.

https://iotexlab.io

Login in Ubuntu

Please use the IP address you assigned for your board. In the example it will be 192.168.1.105, while yours could be different.

From your PC, type the following:

For Raspberry boards:

ssh [email protected]
password: ubuntu

For the Odroid N2 board

ssh [email protected]
password: odroid

If requested, update your password and login again using the new password.

Clone the IoTeXLab iotex-arm scripts

git clone https://github.com/IoTeXLab/iotex-arm.git

if git is not installed in your Ubuntu image, install it with:

sudo apt install git

Set the path to the scripts folder

Edit the file .profile

nano .profile

add this line at the end of the file:

PATH="$PATH:$HOME/iotex-arm/bin"

type ctrl-X and Y to save, then type

source .profile

to apply the change

https://iotexlab.io

Using an usb hard drive is recommended to store the IoTeX blockchain Data. You can avoid it, but adding a usb hard disk would make the raspberry more responsive, and the sync process/node updates will run much faster.

Create the iotex-var folder in your home directory

cd ~
mkdir iotex-var

List the current disks

lsblk

Connect your hard disk to a USB port, and list the disks again: you should see a new sda disk with one or more partitions (sda1, sda2....) depending on the disk you conencted.

Mount the partition

sudo mount /dev/sda1 ~/iotex-var 

https://iotexlab.io

IoTeXLab Delegate provides an updated Docker image for the latest IoTeX node release, specifically built for ARM boards. You can browse the available versions at the IoTeXLab public Docker Repository.

The quick way

The IoTeXLab GitHub repository that you just cloned in the previous step, includes a convenient script that will just perform all the required operations, from installing Docker up to configuring the node for you.

To run it, just type the following:

setup_iotex_node

The standard way

Having the Docker image for ARM, you can install the IoTeX full node by simply installing Docker:

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $(whoami)

and following the official instructions available at
IoTeX Bootstrap Repository
just replace the official IoTeX Docker repository iotex/iotex-core with the IoTeXLab repository iotexlab/iotex-core-arm (replace the release with the current one):

docker pull iotexlab/iotex-core-arm:v0.9.2 

https://iotexlab.io

The IoTeXLab scripts folder includes a few convenient scripts tools. After the node is downloaded and configured, you can run the following commands:

to show the log from the node

logNode 

to kill the currently running node

killNode 

to start the node

startNode 

It also includes the latest IoTeX ioctl command line tool to interact with the IoTeX blockchain:

First configure it to interact with our local node:

ioctl config set endpoint localhost:14014 --insecure

now you can use it to query the node or execute actions:

Get basic infos about the blockchain

ioctl bc info

List the current consensus delegates

ioctl node delegate

https://iotexlab.io