-
-
Published
Linked with GitHub
# solo-staking rig
*by [mike](https://twitter.com/mikeneuder) – sept, 2023*
### Hardware
I went for a beefy setup for a few reasons: (i) future-proofing given I plan on staking for O(years), (ii) I might want to re-stake, which could have higher hardware requirements, (iii) it's fun.
- [Intel® NUC 12 Pro Kit NUC12WSKi70Z ($599 on amazon)](https://www.intel.com/content/www/us/en/products/sku/121638/intel-nuc-12-pro-kit-nuc12wski70z/specifications.html).
- I went for a NUC b/c it seemed like a fun piece of hardware to play with.
- 12th Gen i7 chip with 12/16 (cores/threads), felt like that would be a good amount of horsepower.
- Doesn't come with RAM or SSD.
- [Crucial Pro 64GB Kit (2x32GB) DDR4 CT2K32G4SFD832A ($106 on amazon)](crucial.com/memory/ddr4/cp2k32g4dfra32a#rohs).
- Just went for a highly rated 2x32 DDR4 RAM set.
- 3200 MHz on DDR4 is the max that the NUC was speced for.
- Make sure its SO-DIMM (smaller size) and \*not\* U-DIMM (bigger size used for PCs).
- [SABRENT 2TB Rocket Nvme PCIe 4.0 M.2 2280 Internal SSD ($120 on amazon)](https://sabrent.com/products/sb-rocket-nvme4-2tb).
- Just went for a highly rated 2 TB SSD (22x80 NVMe).
- Needed one with no heatsink to fit into my NUC.
### OS
- [Ubuntu 20.04.6 LTS (Focal Fossa)](https://releases.ubuntu.com/focal/). Recommended by Intel and is one of the LTS (long-term supported) releases.
- [balenaEtcher](https://etcher.balena.io/#download-etcher) to create a bootable USB.
### Client software
- [Geth EL client](https://geth.ethereum.org/)
- I am running [(v1.12.2) Mawinor](https://github.com/ethereum/go-ethereum/releases/tag/v1.12.2)
```bash=
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
```
- [Lighthouse CL client](https://lighthouse-book.sigmaprime.io/installation.html)
- Downloaded the pre-built binary [v4.3.0](https://lighthouse-book.sigmaprime.io/installation-binaries.html)
- [mev-boost](https://github.com/flashbots/mev-boost)
- Downloaded the pre-built binary [v1.6](https://github.com/flashbots/mev-boost/releases/tag/v1.6).
Running with the following relays:
```
https://0xa1559ace749633b997cb3fdacffb890aeebdb0f5a3b6aaa7eeeaf1a38af0a8fe88b9e4b1f61f236d2e64d95733327a62@relay.ultrasound.money
https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net
https://0x8b5d2e73e2a3a55c6c87b8b6eb92e0149a125c852751db1422fa951e42a09b82c142c3ea98d0d9930b056a3bc9896b8f@bloxroute.max-profit.blxrbdn.com
https://0xa7ab7a996c8584251c8f925da3170bdfd6ebc75d50f5ddc4050a6fdc77f2a3b5fce2cc750d0865e05d7228af97d69561@agnostic-relay.net
https://0xa15b52576bcbf1072f4a011c0f99f9fb6c66f3e1ff321f11f461d15e31b1cb359caa092c71bbded0bae5b5ea401aab7e@aestus.live
```
### Test validator on goerli
Mostly following the [goerli launchpad](https://goerli.launchpad.ethereum.org/en/).
Deposit transaction: https://goerli.beaconcha.in/tx/0x5836a4e89323820c30e33b6756272b97631101cd20155e1e811ee8802ee13a8b
Validator: https://goerli.beaconcha.in/validator/0xa299e2dea2356a7fbfedbb60edd807dfc1401316d33c7b2649af4c012a6ed78b148dae02d01ff34335c20f71082f27e1
Turned off my goerli node and exited my validator to sync my mainnet node.
### Mainnet validator
Mostly following the [launchpad](https://launchpad.ethereum.org/en/).
Deposit transaction: https://etherscan.io/tx/0x9e767a02c1173963422e7490fc25c2c0fa2aebc07ae2e350eeb977d66dd95c26
Validator: https://mainnet.beaconcha.in/validator/0x876b0685f2df9493a7a7ae7b97215bddd58549ae1b5ce8440598361e8a81d15a647dfbd57e2f8281512e8fcaaa717a1f#deposits
### Pictures
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_f34fa19a531bf4c79b214ba06f458bf2.jpg width=60%>
NUC box!
<br>
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_d264ca77db1c6cdcadae006fb61862fd.jpg width=60%>
Specs for need RAM & SSD (have to buy separate).
<br>
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_6d0989b4ed5231eebda76c5e38d0799e.jpg width=60%>
NUC inside (before adding RAM & SSD).
<br>
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_87ce1a8d393750b1091be36da59f7977.jpg width=60%>
NUC ports #1.
<br>
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_1bc7200392c935e940deadff36ec0076.jpg width=60%>
NUC ports #2.
<br>
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_07c112b07f4c9707c72e6c2944f3a131.jpg width=60%>
2TB SSD – so tiny!
<br>
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_0253e4cb879bf8b251380092196e7f30.jpg width=60%>
2x32 GB RAM.
<br>
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_573cfbd000644f71f8e8a9851325daa4.jpg width=60%>
NUC with RAM and SSD.
<br>
<!-- <img src=https://storage.googleapis.com/ethereum-hackmd/upload_faa0310e1a5b41cd0b57ef1a87492a10.jpg width=80%>
BIOS.
<br>
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_64b07a06a8b95f23c7b9551a3c43fbeb.jpg width=80%>
Booting ubuntu from a usb.
<br> -->
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_1610aae89f68ae167e0583f15fd40898.jpg width=80%>
All synced up. Running geth (top left), lighthouse beacon node (top right), mev-boost (bottom left), and lighthouse validator client (bottom right).
<br>
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_ecc3724e34db7601fe39194f611f9591.jpg width=80%>
First attestation! https://mainnet.beaconcha.in/slot/7402023
<br>