Skip to content

Instantly share code, notes, and snippets.

View 0xSileo's full-sized avatar
❤️
What a lovely place

Sileo 0xSileo

❤️
What a lovely place
View GitHub Profile
@yorickdowne
yorickdowne / HallOfBlame.md
Last active July 22, 2024 13:59
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.

The drive lists are ordered by interface and then by capacity and alphabetically by vendor name, not by preference. The lists are not exhaustive at all. @mwpastore linked a filterable spreadsheet in comments that has a far greater variety of drives and their characteristics. Filter it by DRAM yes, NAND Type TLC, Form Factor M.2, and desired capacity.

For size, 4TB comes recommended as of mid 2024. The smaller 2TB drive should last an Ethereum full node until early 2025 or thereabouts, with crystal ball uncertainty. Remy wrote a migration guide to 4TB.

@pldespaigne
pldespaigne / eth-tx-hash.ts
Last active March 30, 2024 22:05
Ethereum Tx Hash
import { encode } from '@ethereumjs/rlp';
import { ecrecover } from '@ethereumjs/util';
import { keccak256 } from 'ethereum-cryptography/keccak';
// tx: 0xb00b758da7b97dbeedd1ef62592b2c1427c70ca042dc51a63f3a39d8d31ebbcc
const chainId = 0x1n;
const nonce = 0x3n;
const maxPriorityFeePerGas = 0xf4240n;
const maxFeePerGas = 0x73323c225n;
const gasLimit = 0xdd9cn;
@benhenryhunter
benhenryhunter / gist:687299bcfe064674537dc9348d771e83
Created March 29, 2024 18:33
Blob Propagation Issues Mar 27-28th

On March 27-28 the Ethereum network suffered from extremely high rate of miss slots. Most of these slots were first relayed from the bloXroute relays. We identified that the bloXroute relays worked properly throughout the incident, publishing blocks and blobs correctly, however they propagated the blocks fast thru the BDN while the blobs sidecar propagated through the p2p more slowly (the sidecar is expected to propagate slower, and is allowed to be accepted until t=8 sec) this uncovered a specific CL behavior which caused clients to reject these blocks and cause missed slots. In the current Lighthouse version, the node is expecting the peer that first provided the block to also provide the blobs. The BDN does not propagate blobs and that caused the BDN connected consensus nodes to ignore blocks that were first received from the BDN. A recent release of the BDN improved the speed of gossiped blocks without blobs, relying on the rest of the p2p network to propagate blobs as needed which caused the significa