Skip to content

Instantly share code, notes, and snippets.

@yorickdowne
yorickdowne / noble.md
Last active November 4, 2023 20:51
Ubuntu Noble Numbat
View noble.md

Ubuntu Noble Numbat

This has not been tested, it's a placeholder for the 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 / yawn.md
Last active November 4, 2023 20:21
Debian 12 bookworm upgrade
View yawn.md

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 / nethermost.md
Last active September 27, 2023 17:40
Pruning Nethermind
View nethermost.md

Overview

Nethermind as of January 2023 takes about 860 GiB of space on a snap sync, and then grows by ~ 30 GiB/week.

When it starts to fill its disk, it can be online pruned to free up space again.

Caveat that while several folx have used online pruning successfully, there is risk associated with it. The two failure modes that have been reported are:

  • There is 170 GiB or less of free disk space
  • Online pruning is run successively without restarting Nethermind in between
@yorickdowne
yorickdowne / eth-docker-audit.md
Created November 13, 2022 14:07
Eth-docker audit notes
View eth-docker-audit.md

eth-docker informal specification

User behavior and threat model

A typical user of eth-docker is someone who wants to become a validator on the Ethereum network, also known as staking or staker, or someone who is already a validator on the Ethereum network and wants to add more validators to their setup. They can be someone who is going to setup their machine at home, someone who is going to use some kind of VPS to host their setup, or some kind of institutional staker working for large staking services or large investors.

eth-docker is an automation wrapper to run an "Ethereum node", consisting of a consensus layer client, execution layer client, and validator client.

@yorickdowne
yorickdowne / shenanigans.md
Last active August 25, 2022 10:56
Reset Geth head with eth-docker
View shenanigans.md

Overview

Geth 1.10.23 fixes a bug in 1.10.22, which would have resulted in missing state in its database. The Go-Ethereum team recommends to roll the chain back and let Geth catch up again, if and only if you had updated to 1.10.22. If you did not, just update to 1.10.23 now and call it done.

This is how to roll back to a previous block when using eth-docker.

Update Geth to 1.10.23

./ethd update and ./ethd up should do it.

@yorickdowne
yorickdowne / ity-bity-living-space.md
Last active July 31, 2023 14:48
Ethereum node on 1TB SSD
View ity-bity-living-space.md

Overview

As of August 2022, a 1TB SSD is getting tight to run an Ethereum node in. The recommendation now is for 2TB of space. I wanted to see what it takes to still fit into 1TB.

EIP-4844 will increase space need by another 34 GiB or so. This is a 2023 discussion however.

Options

@yorickdowne
yorickdowne / HallOfBlame.md
Last active December 3, 2023 14:34
Great and less great SSDs for Ethereum nodes
View HallOfBlame.md

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, 2TB come recommended as of mid-2022. 1TB can work for now but is getting tight.

High-level, QLC and DRAMless are far slower than "mainstream" SSDs.

@yorickdowne
yorickdowne / OtherSeid.md
Last active July 17, 2022 15:55
Ethereum merge-readiness checklist for RPC nodes
View OtherSeid.md

Wut

It's July 2022, Ethereum is preparing for merge. There are plenty of guides on how to get merge-ready for validators, but few for people running RPC nodes now.

  • Your network has an announced merge TTD. If not, stop, come back when it does

Steps

  • Run a Consensus Layer client for every Execution Layer client. Pick one of Teku, Lighthouse, Prsym, Nimbus, Lodestar. If you use checkpoint sync, it can sync in seconds. Use a ratio of one (1) CL to one (1) EL. You can actually do one (1) CL to many (N) EL with something like Tennisbowling's muxer. Consider that an advanced idea, to be explored after you have a 1:1 setup running
View OVH-postinstall-debian.sh
#! /bin/bash
# http://linuxcommand.org/wss0150.php
function error_exit
{
echo "$1" 1>&2
exit 1
}
# http://unix.stackexchange.com/questions/70859/why-doesnt-sudo-su-in-a-shell-script-run-the-rest-of-the-script-as-root
@yorickdowne
yorickdowne / SmoothSailing.md
Last active February 7, 2022 17:22
Track execution client compatibility
View SmoothSailing.md

Test cases

  • With Chainlink node
  • With Polygon / heimdalld
  • With SSV node
  • With RocketPool node
  • ETH staking pre-merge all clients
  • ETH staking post-merge all clients

Last updated: 02/7/2022