Skip to content

Instantly share code, notes, and snippets.

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 Feb 7, 2022
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

@yorickdowne
yorickdowne / SepoliaWhale.md
Last active Jul 3, 2022
Get that sweet Sepolia ETH
View SepoliaWhale.md

Sepolia PoS is live

As of 2022/6/20, Sepolia PoS is live. The window to do some mining is closing fast.

Testnets after merge

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.

View OVH-post-install.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 / TRIMmed.md
Last active Dec 1, 2021
Move Dell server from hardware RAID to software RAID
View TRIMmed.md

Overview

I was looking after a Dell PowerEdge R420 server with a hardware RAID card in it, a PERC8 H710P Mini. Connected to this were two WD Blue 3D NAND SATA SSDs in RAID-1, that were handling a write-intensive database: Geth, in this case.

After 11 months of running without problems, I had reason to "resync" Geth, and the server could not keep up with the required IOPS. Symptoms were Database compacting, degraded performance messages for hours, without recovery, and read/write latency in excess of 20/70ms, as measured by sudo iostat -mdx and its r_await and w_await data.

The cause of this was that the RAID controller does not support TRIM on the SSD, and the SSD's performance degraded over time because of it.

@yorickdowne
yorickdowne / rp-and-eth-docker.md
Last active Dec 24, 2021
RocketPool and eth-docker solo staking side by side
@yorickdowne
yorickdowne / Systemd-clean-Geth-restart.md
Last active Sep 27, 2021
A systemd unit file for clean Geth restart
View Systemd-clean-Geth-restart.md

Overview

Geth, and other execution clients such as Erigon, Nethermind, and Besu, take some time on shutdown to cleanly close their database. When not given that time, they will need to resync upon restart, often for hours. This gist describes the systemd service file parameter to give them up to 3 minutes of time for a clean shutdown.

Steps

  • Find your service file. It may be called /etc/systemd/system/geth.service or /etc/systemd/system/eth1.service.
  • Edit it using sudo nano FILENAME, and add TimeoutStopSec=180 to the [Service] section. Here is an example of a service file after the change:
@yorickdowne
yorickdowne / README.md
Last active Oct 6, 2021
Netcup initial setup for RocketPool or solo staking
View README.md

Overview

Running on netcup is not much different from running on any other Linux host. The main difference is that the host is directly exposed to the Internet, and that it is provisioned with Debian, not Ubuntu, to begin with.

Install Ubuntu

In netcup's customer control panel, Overview, click on "SCP Auto-Login". This gets you into their Server Control Panel.

In netcup's server control panel, choose Media on the left, and the Images tab. Select the Ubuntu 20.04 image and install it, partitioning the whole disk. The "SCP password" being asked for here is the password for the Server Control Panel, which you received in a welcome email when first signing up with netcup.

@yorickdowne
yorickdowne / GethBEHAVE.md
Last active Jul 5, 2022
Pruning Geth 1.10.x
View GethBEHAVE.md

Overview

Geth (Go-Ethereum) as of January 2022 takes about 500 GiB of space on a fast/snap sync, and then grows by ~ 10 GiB/week. This will fill a 1TB SSD in ~6 months, to the point where space usage should be brought down again with an offline prune.

Happily, Geth 1.10.x introduces "snapshot offline prune", which brings it back down to about its original size. It takes roughly 4 hours to prune the Geth database, and this has to be done while Geth is not running.

Caveat that while several folx have used offline pruning successfully, there is risk associated with it. The two failure modes we have seen already are:

  • There is 25 GiB or less of free disk space
View keybase.md

Keybase proof

I hereby claim:

  • I am yorickdowne on github.
  • I am yorickdowne (https://keybase.io/yorickdowne) on keybase.
  • I have a public key ASAMH3gm5u914DMwcR4DXVgPeCKqlPdP9Tdurg-LiKUzVQo

To claim this, I am signing this object: