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:
Defult login: ubuntu
Default password: ubuntu
Download Link
This is currently the only (unofficial) version of Ubuntu for the Raspeberry Pi 4 b
Defult login: ubuntu
Default password: ubuntu
Defult login: odroid
Default password: odroid
If you don't know how to do that, check out this YouTube Video for an example.
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.
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
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
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
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 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
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
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