# 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>