Skip to content

Instantly share code, notes, and snippets.

@truth3
Created October 14, 2021 02:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save truth3/88f3fac699d036ae786abd3005ccbe2e to your computer and use it in GitHub Desktop.
Save truth3/88f3fac699d036ae786abd3005ccbe2e to your computer and use it in GitHub Desktop.
Setup notes for RPi based ETH 2.0 validator, beacon chain, and ETH 1 node.
Shopping List
1) USB 3.0 to SATA cable or equivalent 2.5 case with no on / off switch
- https://www.amazon.com/gp/product/B00HJZJI84/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1
2) RPi Power Supply
- https://www.amazon.com/gp/product/B07TYQRXTK/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1
3) Class 10 MicroSD (64GB)
- https://www.amazon.com/gp/product/B07FCMBLV6/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1
4) 1 TB SSD internal 2.5 inch drive
- https://www.amazon.com/gp/product/B08QBJ2YMG/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1
5) RPi Case with Fan
- https://www.amazon.com/gp/product/B07D3S4KBK/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1
6) RPi 4 Model B 8GB Ram
- https://www.amazon.com/gp/product/B08R87H4RR/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1
After you have all the supplies, open the SD card and start with instructions 1 - 4 below before assembling the RPi, (the disk cloning step takes a while).
1) Download the disk image from the link below.
a) https://ethereum-on-arm-documentation.readthedocs.io/en/latest/quick-guide/download-and-install.html
2) Put MicroSD into computer
3) Run the following commands in terminal
a) `diskutil list`
b) `sudo diskutil unmountDisk /dev/disk2`
c) sudo dd bs=1m if=ethonarm_21.03.00.img of=/dev/disk2 conv=sync
d) This will take some time, and you can check the progress `(control + t)`
5) Assemble the RPi case, add the heat sinks to the board and connect the fan.
6) When the disk cloning step completes, insert the microSD card into the RPi
7) Before powering up, we look at the list of clients on the network to find the new IP so we can SSH into it. The command below will return a list of all clients which have port 22 open on the network.
a) `nmap 10.0.1.1-254 -p22 --open`
8) Power on the RPi and let it boot and install everything in the image (10-15 minutes)
9) Run `nmap 10.0.1.1-254 -p22 --open` again and identify the new IP address in the list.
10) SSH into the new IP with ethereum/ethereum (you have to change password)
a) After you login and change the password, you need to login again.
11) Run `ip addr show` to reveal the MAC address for the eth0 interface
12) Assign the RPi a static local IP address using MAC address (on the router)
13) Open the relevant ports for the local IP (Geth and Lighthouse if this is the first RPi)
14) Restart the network
15) Login to the dashboard
a) admin/ethereum
Check detailed syncing progress from CLI with the following commands
`sudo journalctl -u geth -f`
`sudo journalctl -u lighthouse-beacon -f`
`sudo journalctl -u lighthouse-validator -f`
*Discord groups*
Software upgrades:
Upgrading Geth:
`sudo apt update`
`sudo apt-get install geth`
`sudo systemctl stop geth`
`sudo systemctl start geth`
Upgrading Lighthouse:
`sudo apt update`
`sudo apt-get install lighthouse`
`sudo systemctl stop lighthouse-beacon`
`sudo systemctl start lighthouse-beacon`
Hosting Notes:
10.0.1.38 is running all three resources (Geth, Lighthouse-beacon, Lighthouse-validator)
10.0.1.26 is running
10.0.1.18 is running
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment