How to set up your Unchained node on raspberry pi

Thank you for coming to my TED talk. So you want to set up an Unchained node on your raspberry pi? I promise it’s as easy as pie!

Ingredients:
(1) Raspberry Pi board 3 or newer
(1) flash drive or SD card - minimum 2GB
A computer
A stable wifi or ethernet connection

STEP 1

Plug your empty flash drive or SD card into your computer - this will be the OS and storage for your raspberry pi, everything on it will be erased when you write the OS to the drive.

Install the Raspbian OS manager on your computer

In the Raspberry Pi Imager:
select your raspberry pi model from the dropdown(the exact model is written on your pi board if you don’t know)

Under Operating System select: Raspberry Pi OS (other) > Raspberry Pi OS (Legacy, 64-bit) Lite

Then under Storage select the flashdrive/SD card you intend to use for your Pi

CLICK NEXT, then choose EDIT SETTINGS before imaging(important!)

In settings you will need to set your:
hostname(any name you want for your board)
set username and password(any name and any password you will remember)

if you’re using wifi, check configure wireless LAN and enter your wifi name and wifi password, exactly how you’d log into it if you were connecting through your phone(i.e. SSID: Starbucks Wifi, Password: 123Coffee)

adjust location settings to your locale

THEN at the top, go to the SERVICES tab and check Enable SSH > Use password authentication
You’re all set, now Save and click Yes to start the imager

STEP 2
Your bootable media(flash drive/SD card) is now complete! If it’s finished, unplug it and insert it into your raspberry pi
Connect your Pi to a power source and it will turn on automatically(you should see a blinking LED near the power port)

Now we won’t need a separate monitor to go into the raspberry pi, in fact it has no desktop screen whatsoever because we’re running a headless(Lite) version that can only be accessed via the terminal. If you set up your wifi credentials correctly, you should be able to find your raspberry pi on your network after a few moments of it turning on.

Now we must find the pi on our network and remote in! I use Angry IP Scanner to find it. https://angryip.org/
Go ahead and install it, launch it, then set the IP range at the top to 192.168.0.1 to 192.168.1.255. To the right of IP Range click the gear to open settings > go to Display > check Alive Hosts(this just clears up the display of devices for us)

Click Start and wait for it to finish.
You should see a list of every device connected to your router, one of which is your Raspberry Pi. Despite setting a custom hostname, my hostname never shows up on this list, so with trial and error I attempt connecting to the IPs I don’t recognize until I’m in.

We can SSH into the Raspberry Pi with putty. You can install it at putty.org, or use your preferred SSH terminal. The default SSH port is 22. So try connecting with the IPs on port 22 until you establish a connection with one of them. Most of your devices don’t have this port open so the only one that accepts a connection will likely be your Pi board. Again, you’ll type in the IP to connect to like 192.168.0.200 then the port 22 and click connect.

You might get a big glaring warning when you establish the connection because it’s a new device, just click accept and you’ll be asked to log in. These are the credentials you set up in the settings of your raspberry pi OS imager.

STEP 3
If you made it in congratulations, you’re almost done.

You can head over to unchained/quickstart.md at master · KenshiTech/unchained · GitHub
for the commands to install and launch Unchained, but we’re going to need extra steps to do it on a pi, so just do these commands:

sudo apt-get update
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
source ~/.bashrc
nvm install --lts
npm install -g npm@latest
sudo npm i -g @kenshi.io/unchained

and we’re gonna skip installing mongoDB because we’re running the lite version of unchained, we do need a config file though but its easy:
(this command starts the creation of a text file, it will open an in-terminal text editor)

nano conf.yaml

(type this in to the file, hit enter for a new line, put two spaces before ethereum, and change the name to the name you want others to see for your node)

log: info
name: YOUR-NODE-NAME
lite: true
rpc:
  ethereum: wss://ethereum.publicnode.com

THEN hit ctrl+X, hit Y to save, hit enter to finish

Congrats you are DONE
Now do
unchained start conf.yaml --generate
(to launch the program the first time, all subsequent runs remove --generate)
you should see the log running

I’ll update this guide when changes come to Unchained or if anyone has corrections.

ERRORS:
If you have trouble during installing the npm packages, it’s probably because your node or npm is not a new enough version
If you have the latest node and npm and you still get errors about broken dependencies or missing files, make sure you installed the 64 bit OS not the 32 bit

4 Likes

woa thank you for the tutorial, now I am tempted to get me a Pi and try this out, I wonder if a pi would be able to run a light node once mainnet is live

3 Likes

I wonder if a pi would be able to run a light node once mainnet is live

That’s what I’m wondering too, I hope so. If storage is the bottleneck we could just stick another flash drive in there. If processing power is the bottleneck we’re out of luck.

2 Likes

Holy based Batman. Once I get my hands on my pi, I will set this puppy up for 24/7 low powered node kino.

3 Likes

Absolutely based post. Gonna follow it as well

3 Likes

Working 100% on Raspberry Pi 4 Model B, will try on 3A+ Thanks

For those looking to buy a raspberry pi, this is a great site to find inventory: https://rpilocator.com/

Still waiting to get the new raspberry pi 5

4 Likes