Skip to content

Instantly share code, notes, and snippets.

@yorickdowne
yorickdowne / HallOfBlame.md
Last active April 18, 2024 21:26
Great and less great SSDs for Ethereum nodes

Overview

Syncing an Ethereum node is largely reliant on IOPS, I/O Per Second. Budget SSDs will struggle to an extent, and some won't be able to sync at all.

This document aims to snapshot some known good and known bad models.

For size, 4TB or 2TB come recommended as of mid 2024. A 2TB drive should last an Ethereum full node until late 2025 or thereabouts, with crystal ball uncertainty.

High-level, QLC and DRAMless are far slower than "mainstream" SSDs. QLC has lower endurance as well. Any savings will be gone when the drive fails early and needs to be replaced.

@yorickdowne
yorickdowne / noble.md
Last active April 10, 2024 12:38
Ubuntu Noble Numbat

Ubuntu Noble Numbat

This is a placeholder for the 15th August 2024 release of Ubuntu 24.04.1

To start, read the official release notes.

If your install fits into "vanilla Ubuntu plus maybe a handful of 3rd-party repos", then this guide for a simple upgrade to Ubuntu 24.04 "Noble Numbat" from Ubuntu 22.04 "Jammy Jellyfish" can be helpful. 3rd-party repos are handled with a find command.

@yorickdowne
yorickdowne / friday.md
Last active April 8, 2024 15:02
Debian 13 trixie upgrade

Debian 13

This has not been tested, and is a placeholder for instructions when Debian 13 is released in 2025

To start, read the official release notes.

If your install fits into "vanilla Debian plus maybe a handful of 3rd-party repos", then this guide for a simple upgrade to Debian 13 "trixie" from Debian 12 "bookworm" can be helpful. 3rd-party repos are handled with a find command.

Note upgrade is only supported from Debian 12 to Debian 13. If you are on Debian 11, upgrade to Debian 12 first. Then once on Debian 12, you can upgrade to Debian 13.

@yorickdowne
yorickdowne / yawn.md
Last active April 8, 2024 14:44
Debian 12 bookworm upgrade

Debian 12

To start, read the official release notes.

If your install fits into "vanilla Debian plus maybe a handful of 3rd-party repos", then this guide for a simple upgrade to Debian 12 "bookworm" from Debian 11 "bullseye" can be helpful. 3rd-party repos are handled with a find command.

Note upgrade is only supported from Debian 11 to Debian 12. If you are on Debian 10, upgrade to Debian 11 first and make sure to change the security repo as per the release notes. Then once on Debian 11, you can upgrade to Debian 12.

  • Check free disk space
@yorickdowne
yorickdowne / README.md
Last active April 5, 2024 06:27
Ubuntu Desktop 20.04 with mirrored ZFS boot drive

Overview

Ubuntu Desktop 20.04 supports a single ZFS boot drive out of the box. I wanted a ZFS mirror, without going through an entirely manual setup of Ubuntu as described by OpenZFS in their instructions for Ubuntu 20.04 and instructions for Ubuntu 22.04

This adds a mirror to an existing Ubuntu ZFS boot drive after the fact. It's been tested on Ubuntu 20.04 by me and all the way up to Ubuntu 22.10 by users in comments.

ZFS requires native encryption to be added at pool / dataset creation. Ubuntu 22.04 supports this during installation. Whether these instructions are suitable for mirroring such a setup has not been tested. For Ubuntu 20.04, these instructions are not suitable for creating an encrypted ZFS boot disk, please use the full instructions linked above for that. You can, however, add an en

@yorickdowne
yorickdowne / Besu Bebop.md
Last active March 31, 2024 16:05
Optimal Besu settings for database growth

Overview

Besu, an Ethereum execution layer client, can be optimized for minimal database growth (7-8 GiB/week), and for block processing speed.

The relevant parameter is --Xbonsai-limit-trie-logs-enabled=true

If you have 64 GiB of RAM or more, you can also add --Xplugin-rocksdb-high-spec-enabled=true for even better performance.

A long-running Besu DB will have sizeable trie log storage. This can be reduced with a one-off prune using the

@yorickdowne
yorickdowne / SepoliaWhale.md
Last active March 18, 2024 09:02
Get that sweet Sepolia ETH

Sepolia is now on PoS

As of 2022/7/6, Sepolia has switched to PoS. The window to do some mining has closed.

Testnets after merge (original, old content from here)

It's mid 2022, Ethereum is still PoW and motoring towards merge / PoS. Surviving testnets will be Sepolia - currently PoW - and Goerli. Ropsten will be merged and then deprecated, Rinkeby and Kovan won't be merged.

I want to "get ready" for some Sepolia testing pre- and post-merge. Sepolia will not have a public validator set; testing post-merge will be limited to running applications on it. As Sepolia is PoW, I can actually go mine myself some SepplETH. Here's how.

@yorickdowne
yorickdowne / GethBEHAVE.md
Last active March 13, 2024 01:10
Pruning Geth 1.10.x, 1.11.x, 1.12.x

Note: PBSS in Geth >=1.13.0 removes the need to prune manually.


Old content for reference

Overview

Geth (Go-Ethereum) as of July 2022 takes about 650 GiB of space on a fast/snap sync, and then grows by ~ 14 GiB/week with default cache, ~ 8 GiB/week with more cache.

@yorickdowne
yorickdowne / README.md
Last active March 11, 2024 18:20
How to resize a netcup VPS disk after contract upgrade

Resizing a netcup VPS disk after upgrading the contract to a bigger one

From Server Control Panel

Boot rescue image

  • Change boot order to network first: Settings -> Boot Order, Save
  • Control -> Shutdown. Use Forced Poweroff if Shutdown doesn't work.
  • Boot into rescue system: Media, "Rescue System" tab, Enable Rescue System. Take note of root pw
  • Control -> Start
@yorickdowne
yorickdowne / nethermost.md
Last active February 24, 2024 10:33
Pruning Nethermind

Overview

Nethermind as of January 2024 takes about 1.1 TiB of space on a snap sync, and then grows by ~ 27 GiB/week.

When it starts to fill its disk, it can be online pruned (no downtime) to free up space again, to around the size of a fresh sync.

Prerequisites

  • This is not an archive node. Do not try to prune an archive node.