The Node Less Traveled By: The Road to Ethereum Independence
Last updated
Last updated
Pictured above are the hardware components needed to setup our node:
It's okay if your specific components don't look like what's pictured above, the important thing is you have one of each: a SSD, RAM, and a computer to run the node
The black box in the top left is called an NVME SSD
You may already be familiar with an SSD, it's commonly known as a "hard drive"
This SSD is where all the data for our node is going to be stored, from the actual operating system to each block our node receives as part of the blockchain
Below it, in the bottom left, is our RAM which is also called "memory"
RAM is used by our computer to hold information that doesn't need to be permanently stored on the SSD
For example, the actual software we're going to be running for syncing the blockchain is going to be loaded into memory while it's running
The big box to the right is our Intel NUC, the actual computer that's going to be running the node software to sync us with the blockchain
Aside from what's pictured above, we need two more items: A small screwdriver and at least a 32 GB USB
Starting with the Intel NUC, let's go over everything included in the box (ignoring the actual box 😉):
All the way to the left is a black metal plate
This plate is would allow you to mount the Intel NUC onto the back of a computer monitor that supports VESA mounting
In the middle is our Intel NUC
To the top right of the NUC is what I believe is a standoff screw, but it's not mentioned in the included manual and I'm not sure where it even goes. It's okay though, we're not going to use it 🙂
To the bottom right of the NUC are some extra screw that I believe are for mounting the NUC to the back of a computer monitor using the included metal plate
In the top right is our power supply used to power the NUC
And below it is our standard instruction manual and safety precautions
For this guide you can ignore everything but the NUC and the power supply:
Your exact RAM packaging may differ, but this one is pretty nonsense and only contains two RAM sticks
You may only have a single RAM stick and that's fine. Pictured below are two 16 GB sticks of RAM, but they come in various configurations e.g. one stick that's 32 GB, one stick that's 64 GB, etc.
Your SSD packaging may also differ, but it's probably going to contain the same as pictured below:
Included in the box is:
In the top left is the standard manufacture disclosures
In the bottom left is the NVME SSD
The first step in assembling our node is to unscrew the bottom cover of the NUC. Pictured below is the bottom of the NUC with the four screws we need to unscrew highlighted by the red squares:
Note: The four screw are captured, meaning they're not going to come out of their holes no matter how much you unscrew them. When they become loose and you can move the screw up and down, that's how you'll know it's completely unscrewed
Note: We're going to remove the bottom cover of the NUC, but be careful when you do so because there is a ribbon cable attached to the bottom cover (see the below image to see what this ribbon cable looks like) that you don't want to accidentally rip apart if you remove the bottom cover a bit too vigorously 💪
The first time you remove this bottom cover, it might be a bit stiff so it might require just a little bit of umph - You'll figure it out though, I believe in you 🙂 (plus we don't use the ribbon cable, so if you accidentally damage it, it's not the end of your node)
Next we're going to open up the NUC by removing the bottom cover. To do so, hold onto the NUC with one hand and pull up using one of the screw with the other hand. Once you seperate the bottom cover from the rest of the NUC, carefully place it off to the side like so:
Highlighted in the above image are the slots we're going to insert our RAM into. This part is going to feel like you're going to break something, but it does require a little bit of effort to full push the RAM into it's slot. You're also going to be inserting the RAM at a slight angle and then you'll push it down into the silver bracket (highlighted in the below image) that'll hold the stick of RAM on it's sides
Insert the gold side of the first stick (or your only stick if you only have one stick) of RAM into the bottom slot. The gold side of the RAM will have a small section missing from it, this gap lines up with a solid piece in the slot we're sticking the RAM into. Make sure your stick of RAM is correctly orientated and the gap in the stick lines up with the solid piece in the slot before trying to push the stick into the slot (otherwise you'll damage the stick of RAM)
Once you've inserted the stick of RAM, it'll look like:
If you have a second stick of RAM, insert it in the top slot same as you did the first one (also making sure to push down slightly on the stick to push in into the bracket):
Next, and the last step before we close up the NUC, we're installing our SSD. To do so, there's a small screw we need to remove first - I've highlighted the screw in the above image, please completely unscrew it and set it off to the side
After completely removing the screw, insert your SSD gold side first into it's slot. Like the RAM, there's a small gap in the gold side that aligns with a solid piece in the slot. Please make sure you're lining up the gap with the solid piece before trying to insert the SSD
As you can see in the above picture, the SSD is going to be at a weird angle after inserting and that's completely fine. The tiny screw we removed is going to hold down the SSD
Please reinsert the tiny screw into it's hole, making sure it's holding down the SSD by the gold half circle that lines up with the screw hole. After reinserting the screw, it should look like:
Now that we've installed the RAM and the SSD, it's time to screw the bottom cover back on, completing our assembly of our node, congrats 🎉
Now that we've assembled the hardware, it's time to finish turning it into a computer by installing an operating system (sometimes abbreviated as OS). As is, if you purchased the barebones model, your NUC doesn't have an operating system. If you're unfamiliar with the term, the operating system is what you're most likely heard as "Windows", "MacOS", or maybe you've even heard of "Linux". Your OS is what allows you to use software with your hardware, without it your NUC is just a box that doesn't do much besides turn on
To install your OS, you're going to need the following
A computer (aside from our NUC 😉)
A USB with at least 16 GB of space
Note: All of the data on the USB is going to be erased, please use a new USB or one that doesn't contain any data you care about
A display to connect your NUC to
An HDMI cable
A keyboard
For our NUC, we're going to be using a Linux operating system, specifically we're going to be using the Ubuntu Server distribution (for an explainer on why we're choosing Linux, please refer to this, or feel free to search "Why use Linux for servers")
Depending on when you are viewing this guide, the Ubuntu download page make look different from what's pictured below, regardless, there should be a big download button somewhere
It's also okay if the version number when you download Ubuntu Server is different from what's shown below (version 22.04.3
)
If you haven't already, go ahead and click the big green button to download the Ubuntu Server ISO (it may take a while to download)
In order to install the operating system onto our NUC, we're going to need a way to install the Ubuntu Server ISO you just downloaded onto our NUC - this is where that USB comes in
Now just transferring the Ubuntu Server ISO file onto the USB isn't enough, we need to flash the ISO onto the USB so that when we plug it into our NUC, it can recognize it as an operating system it can run on it's hardware
To do this, we're going to download a program called balenaEtcher, another free piece of useful software. Once again, go ahead and click the big green button to download it
After clicking the download button if you see the below screen:
Go ahead and click the Download
link that corresponds to the operating system of the computer you're currently using. If you're using Windows, it'll be the very first Download
, if you're using MacOS it'll be the 4th from the top, and for Linux the 2nd to last
Depending on your OS, installing Etcher is going to look a little different. I'm writing this guide on a macbook, so below is the installation process for MacOS, but regardless the installation process should be pretty similar
When you clicked the Download
button for Etcher, you downloaded a .dmg
file. You've probably already gone through the process of installing apps downloaded from the web on your Mac already, but just incase you haven't, double click the downloaded file and you should see the screen:
Then click on the balenaEtcher app and drag it into the Applications
folder as depicted by the arrow, then you can close this screen
Next, launch the balenaEtcher app by opening up Spotlight search
by pressing and holding the ⌘
key on your keyboard and the Space bar
. Then type in etcher
like so and press the return
key to launch the app:
If you see the following pop-up, click Open
:
Regardless of your OS, you should after installing Etcher and opening the app, you should something similar to:
Now we're going to flash our downloaded ISO file onto our USB by clicking the blue Flash from file
button. Upon clicking, your OS's file picker should popup:
Go ahead and navigate to where you downloaded the Ubuntu Server ISO file (mostly likely this will be your OS's Downloads
folder), click the ISO file, and click the open
button in the bottom right. Afterwards you should see the Select Target
button turn to blue:
Before continuing, plug in the USB you want flash the OS onto into your computer. Afterwards, click the blue Select target
button and you should see a screen similar to:
It is very important you take your time to verify you're selecting the USB you intended to completely erase all data on to flash the OS on this screen. Even if you only see one device listed (as pictured above), try unplugging the USB from your computer and verify the device disappears from the selection screen, then plug the device back in and verify the device that reappears is the USB you intend on using
Once you're 100% sure you know which target on this screen is the USB you'd like to use, go ahead and select it:
Then click the blue Select 1
button and you should see:
Before clicking the blue Flash!
button, be 100% sure you're ready to erase all the data on your USB. Once you click the blue Flash!
button, all of the data on the USB will be permanetly erased
Once you're ready, click the blue Flash!
button to begin flashing the Ubuntu Server ISO onto your USB
This first one is just MacOS asking you to verify you want to give balenaEtcher access to write to your USB. Enter your password and click the Ok
button
The next popup is also confirming you want to give balenaEtcher access to write to your USB. Click the OK
button
You may see the following scren if you're using a USB with a lot of storage. If you sure you want to erase everything on your USB, click the Yes, I'm sure
text to continue
You should see Etcher begin to flash the ISO onto your USB:
When the flashing process reaches 100%, Etcher will begin to validate the ISO was flashed correctly onto your USB:
At this point we've assembled the hardware and flashed Ubuntu Server onto our USB. Now we're going to install Ubuntu Server onto our NUC. So go ahead and plug your HDMI cable into the back of your display and connect the HDMI cable, your keyboard, and the USB to the NUC. At this point we're ready to plug in the power supply and power on the NUC by pressing the power button on the front
It may take a second, but with your USB plugged into the NUC, you NUC connected to your display, and both the NUC and your display powered on, you should see:
Go ahead and press Enter
on your keyboard to select Try or Install Ubuntu Server
Eventually you'll see this screen, go ahead and select the language you're comfortable using (you can move the green selection bar up and down using the up
and down
arrow keys on your keyboard) by pressing the Enter
key:
If you see something similar to the following screen, go ahead and select Update to the new installer
:
Next is the Keyboard configuration
screen, press Enter
to select Done
:
On this next screen, we're going to press the up
arrow on your keyboard to highlight the bottom box for Search for third-party drivers
:
To select, press the space bar
your screen should look like:
Press the down
arrow on your keyboard to re-highlight Done
, and then press Enter
to select it:
Next is the Network connections
screen, this is where we connect our NUC to the internet. I'm not 100% sure what'll see if your NUC is connected to the internet via ethernet cable, but your NUC should also have a built-in WiFi antenna, so for this guide, that's how we'll connect your NUC to the internet
Your view of this screen may be slightly different, but the process of connecting to WiFi using should be the same. We're going to select the NUC's WiFi antenna (the line with wlan)
by pressing up
twice to highlight the antenna like so:
Then press space bar
to open this menu:
Press down
twice to highlight Edit Wifi
andpress space bar
:
You should see:
Now you can either type in the name of your network if you know what it is, or you can down
to highlight Choose a visible network
, press space bar
to open the menu, press down
until you get to your network, then press space bar
to select it. Afterwards, press down
three types to highlight the Password
input field and type in your network password. Your screen should look similar to:
Press down
to highlight Save
and press space bar
. Give your NUC some time to connect to your WiFi to verify everything you entered your password correctly. Once your NUC is connected to WiFi, you screen should look similar to:
Press down
twice to select Done
and press space bar
to move onto the next screen. This next screen is to configure a proxy, if you don't know what that is, you probably don't need to do it, so you can just press space bar
to move on:
On the next screen, your NUC is automatically going to test that it can connect to the Ubuntu mirror servers to be able to install software. Let it do it's thing, and when it's done you should see This mirror location passed tests.
like so:
Go ahead and press space bar
to move onto the next screen. If you didn't see it before, you may see the Installer update
screen mentioned above when we started installing Ubuntu. If you do, just select Update to the new installer
Now you should see the Guided storage configuration screen
:
Everything we need selected, should already selected, but verify Use an entire disk
is selected, and Set up this disk as an LVM group
. Then press down
5 times to highlight Done
and press space bar
Next you'll see a summary of how the operating system is going to install itself onto our SSD:
We don't need to change anything here, so go ahead and press space bar
to continue on. A popup will appear asking you to confirm you'd like to perform a destructive action:
This popup is just telling us that we're about to completely erase all data on our SSD, which is fine because the SSD is empty. Press down
to highlight Continue
and press space bar
to confirm.
This next screen is where we setup our user profile:
Enter whatever your prefer for the Your name
section. For Your server's name
this should be something recognizable like ethnode
or whatever you prefer, because this is the name that'll show up when you look at what devices are connected to your WiFi router. Enter whatever you'd like in Pick a username
, but I recommend keeping it short so it's easier to type when we login to the NUC. Lastly, set whatever you like for the password, but it should be sufficiently secure (12 or more characters with some symbols and numbers). When you're all done, press down
to highlight Done
and press space bar
to continue
Next you'll be asked if you'd like Ubuntu Pro security updates, I'm pretty sure this is a paid service and we'll be managing updates ourselves anyways, so just press space bar
to continue:
Now you'll be asked to set up SSH, press space bar
to select Install OpenSSH server
like so:
Then press down
twice to highlight Done
and press space bar
to continue. If you see this next screen, just press space bar
to continue:
Next Ubuntu is asking if we want to pre-install any other software on our node, right now we don't, so just press down
until Done
is highlighted, and press space bar
to continue:
On this screen Ubuntu is finalizing the installation process:
When the last item on the screen changes from Cancel update and reboot
to Reboot Now
, Ubuntu is finished installing:
Press down
twice to select Reboot Now
, then press space bar
to reboot. Next you'll see the last screen of the installation process:
The screen is telling us to unplug our USB from the NUC, so that when the NUC reboots we don't go back into the installation menu. So just unplug the USB from the NUC and press enter
The NUC will reboot itself and it may a take a while, but eventually you should see:
You don't really need to worry about any of the info on the screen right, however, everything in the section labeled BEGIN SSH HOST KEY KEYS
should not be shared with anyone as this info can be used to remotely access you intel NUC. To clear all this info from your screen, press and hold the control
key and press c
. This should clear your console like so:
Type in the username you configured, press enter
, type in your password, then press enter
. You should have logged into your NUC and see:
Because Linux is open source software, it's actually free to download and free to use We're going to download a file called an ISO from the official Ubuntu website's download page:
When you see this screen, you have successfully flashed the Ubuntu Server ISO onto your USB :
Congratulations You've successfully installed Ubuntu Server onto your NUC and logged in successfully!
Search for third-party drivers
Search for third-party drivers
Done