Skip to content

Instantly share code, notes, and snippets.


Medalla non-finality mid October

What is happening with the Medalla eth2 testnet currently, Oct 17th 2020? Here's an ELI5. (Not exactly 5. Maybe 10. You get the idea.)

  1. A bunch of validators turned off (maybe zinken, maybe bored, who knows)
  2. We entered non-finality. This means we don't have enough validators online to agree to what the state of the network is. We need 2/3rds.
  3. Some sync bugs reared their heads, in Prysm and Nimbus. We lost more validators to the bugs, not everyone has updated since
  4. Non-finality increases memory and CPU requirements, we likely lost more validators because their nodes couldn't handle it
  5. Either people come back in and we regain finality or
  6. They don't and offline validators lose eth faster and faster, until we regain finality. Some may be ejected if their balance falls too low.
yorickdowne /
Last active December 3, 2020 13:01
Switch Rocketpool to newer client version

Emergency procedure

Only do this in emergencies, such as when eth2 is not syncing or RAM/CPU use is spiking. This procedure can be used for Prysm or Lighthouse.

The specific client versions mentioned here are for RocketPool 0.0.8. They will not work in prior versions of RP.

Edit config.yml:

cd ~/.rocketpool

Keybase proof

I hereby claim:

  • I am yorickdowne on github.
  • I am yorickdowne ( on keybase.
  • I have a public key ASAMH3gm5u914DMwcR4DXVgPeCKqlPdP9Tdurg-LiKUzVQo

To claim this, I am signing this object:

yorickdowne /
Last active August 9, 2021 07:45
UFW and docker iptables via DOCKER-USER

Use ufw for some, but not all, Docker traffic

This is a slight tweak to by way of

For an automated way of handling ufw rules via docker-compose, see

Use case

I wanted Docker to keep managing its own iptables rules, including automatically opening port forwards, with the option of stepping in and restricting a port that I did not want open to "world". Container-to-container traffic should flow unimpeded,

yorickdowne /
Last active December 7, 2021 15:12
Take over BloxStaking KeyVault instance

/u/settleddown posted some excellent instructions on how to create your own BloxStaking KeyVault instance in AWS and keep it updated yourself.

I've adjusted these instructions to "take over" the existing instance, without needing to spin up an entirely new one. The Python script now prompts the user for the password.

NB: pip3 is very slow on WSL2. This can be resolved by running pip3 install -U keyring, and then mkdir -p ~/.config/python_keyring/ and edit vi ~/.config/python_keyring/keyringrc.cfg and paste into it:

#! /bin/bash
function error_exit
echo "$1" 1>&2
exit 1
yorickdowne /
Last active December 24, 2021 14:24
RocketPool and eth-docker solo staking side by side
yorickdowne /
Last active February 7, 2022 17:22
Track execution client compatibility

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 /
Last active July 17, 2022 15:55
Ethereum merge-readiness checklist for RPC nodes


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


  • 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
yorickdowne /
Last active August 2, 2022 13:46
Netcup initial setup for RocketPool or solo staking


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.