-
Processor: Intel Core 13 Generation i9-13900F (Amazon)
-
Memory: Corsair 2 x 32 GB DDR4 (Amazon)
-
Storage: Corsair 4TB NVMe SSD (Amazon)
-
Motherboard: MSI B760M Mortar WiFi Micro-ATX (Amazon)
-
Power Supply: Corsair RM750x (Amazon)
-
PC Case: Mini-Tower (Amazon)
-
Graphics Card: Nvidia GeForce GT730 2GB (Amazon)
This costed me ~$1637 that's cheaper than buying a Dappnode machine with similar specs.
Opt for Dappnode OS. It supports most consensus and execution clients along with MEV boost. I chose to go with Lighthouse + Nethermind.
- Download the Attended version of the Dappnode ISO onto a 32 GB USB drive.
- Wait for the hardware components to arrive during this time.
-
Motherboard Setup
- Attach the processor
- Insert the RAMs into DIMMA2 and DIMMB2 slots. Always refer to the motherboard documentation.
- Insert the NVMe SSD.
-
Case Setup
- Fit the motherboard into the CPU case.
- Integrate the graphics card and Power Supply Unit.
- Do the wiring. Always refer to the manual.
Configure the BIOS settings as follows:
-
Restore after Power Loss: Set to Always On for automatic restart after power loss.
-
System Power Fault Protection: Enable this feature.
-
Wake-on-LAN: Enable for remote server activation. Resume by PCI-E/Networking Device. Resume by Intel CNVi. This allows you to remotely power on the machine by sending a magic packet over the network.
-
Set BIOS/UEFI passwords.
-
Use LVM for partition management, allocating the entire disk. Using partition for
/home
folder will allocate majority allocation to home folder leading to low space for node data. -
Set IPFS to remote to reduce network load on the router. Without this, the router might drop connectivity sometimes.
-
Disable Auto Updates to avoid reboots.
Beacone chain mobile app and explorer.
- Enable Wi-Fi, local proxy, and VPN. Note that you can only access Dappnode web3signer over WiFi hotspot exposed by the machine.
- Set up SSH for remote access.
- Configure Wireguard VPN using this guide to connect to your machine outside of your home network.
Adjust GRUB settings:
$ cat /etc/default/grub
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_TERMINAL=console
$ cat /usr/sbin/update-grub
#!/bin/sh
set -e
exec /usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg "$@"
Enable temperature sensors:
$ sudo sensors-detect
$ sensors
Update BIOS settings to detect Monitor/HDMI/VGA to none.
Enable debug data (a.k.a. contract data) in Ledger device to use it with MetaMask for deposit to validator otherwise metamask won't be able to sign tx.
- Generate validatot keys using Wagyu Key Gen.
- Deposit ETH into validator using launchpad.