Skip to content

Instantly share code, notes, and snippets.

@ralexstokes
ralexstokes / sample-blob-sidecar.json
Created March 28, 2024 17:27
sample-blob-sidecar.json
{
"index": "0",
"blob": "0x3900000b0a008b92c0ca3613d6a3943ce993eefa703b000000000af278da8cd63937d47d1fc7714b640c7309d5581286ac956c63bfac93650a696c59ae943d640f156ac864298950a84c639a30d6c63a0ad907595a3015d9264b18573484ccb82c737ffbfdfb0f3ccee79ccfebbccf936acfb589263cd7e1a97f728955dd521935ebe7fffa0dbabfe79f0bdec663b7fc6a749f1e7f362585c320b408a71b23072c9a19f2d802f86e7eaeccc3adb1f4790bd6c820f5ecc7f852d42dd46d3fbe223cebffc163723a07fbd8b11e25be3a2ab6c807fd0e7ef31ccee98750bd6bcac807519e67a04102008a5d7513ceb1616c2bd52d75c81abc54f43b422e30dd8e4c07ff2554a6ef8395cc000d12019061c368a15846f2924546fedec0760ecd0f2d324cf954bcbdc15568286fd9ab041a2401a078c3d7d5f6af5c011625c82b49342efe0251d9b7d2e9bb9abb80bc5ca0a8d61c0e83d0268867ee57f6769da5501e299b479a3ff0f4cf568706589eb7eed23256cf2a3378b8071601e004f5d83a651e8157a03e77b5a5c5fa8758ecc4be5b9e121dd734f3481f562ad9974083257f11282fd5a39b34c563aa4eaa9289089dbac283a56a587afd85761c1bb4adf1f03f0d9602e03ad1e534a799f4f112922a4554a89498cd2467182a8b47114c34d430e33b19091a2c07c0db51158
@ralexstokes
ralexstokes / execution_engine.rs
Created September 16, 2023 17:23
Sketch of a fork-agnostic execution engine type for `ethereum-consensus`
mod bellatrix {
mod execution_engine {
use crate::ExecutionEngine;
pub struct ExecutionPayload<const A: usize> {}
pub struct NewPayloadRequest<const A: usize>(ExecutionPayload<A>);
#[derive(Default)]
pub struct DefaultExecutionEngine<const A: usize>;
@ralexstokes
ralexstokes / keybase.md
Created September 6, 2023 20:03
keybase.md

Keybase proof

I hereby claim:

  • I am ralexstokes on github.
  • I am ralexstokes (https://keybase.io/ralexstokes) on keybase.
  • I have a public key ASBmSCNJJz8dqgYxy7cmxyb2iJu3VOlqSyJ0f3C15mAWCgo

To claim this, I am signing this object:

08:59:20 From stokes to Everyone:
Agenda here: https://collective.flashbots.net/t/toward-an-open-research-and-development-process-for-mev-boost/464/19?u=ralexstokes
09:02:23 From Davide Crapis to Everyone:
Gm everyone
09:02:33 From terence to Everyone:
Gm
09:02:38 From oisinkyne to Everyone:
gm
09:02:44 From Chris Hager to Everyone:
can you repost?
{ nixpkgs ? import <nixpkgs> { }
, rustPlatform
, lib
, stdenv
}:
let
rustOverlay = fetchTarball "https://github.com/oxalica/rust-overlay/archive/master.tar.gz";
pinnedPkgs = fetchTarball "https://github.com/NixOS/nixpkgs/archive/ce6aa13369b667ac2542593170993504932eb836.tar.gz";
pkgs = import pinnedPkgs {
overlays = [ (import rustOverlay) ];
diff --git a/src/phase0/beacon_state.rs b/src/phase0/beacon_state.rs
index 5997634..d283932 100644
--- a/src/phase0/beacon_state.rs
+++ b/src/phase0/beacon_state.rs
@@ -3,14 +3,14 @@ use crate::phase0::fork::Fork;
use crate::phase0::operations::{Checkpoint, Eth1Data, PendingAttestation};
use crate::phase0::validator::Validator;
use crate::phase0::JUSTIFICATION_BITS_LENGTH;
-use crate::primitives::{Bytes32, Gwei, Root, Slot};
+use crate::primitives::{Bytes32, Epoch, Gwei, Root, Slot};
@ralexstokes
ralexstokes / validate_bls_12_381_primitive_root.py
Created December 1, 2021 17:21
Compute the smallest primitive root of unity of BLS-12-381
# Python3 program to find primitive root
# of a given number n
from math import sqrt
from gmpy2 import is_prime
import primefac
# Function to find smallest primitive
# root of n
def findPrimitive(n):
@ralexstokes
ralexstokes / cargo.toml
Created May 14, 2021 20:16
work around lighthouse cargo patches @ commit 3a24ca5f14c6e6d6612fd43eca82aa0c1e6aba16
[patch]
[patch.crates-io]
tree_hash = { git = "https://github.com/sigp/lighthouse", branch = "stable" }
tree_hash_derive = { git = "https://github.com/sigp/lighthouse", branch = "stable" }
eth2_ssz = { git = "https://github.com/sigp/lighthouse", branch = "stable" }
eth2_ssz_derive = { git = "https://github.com/sigp/lighthouse", branch = "stable" }
eth2_ssz_types = { git = "https://github.com/sigp/lighthouse", branch = "stable" }
eth2_hashing = { git = "https://github.com/sigp/lighthouse", branch = "stable" }
@ralexstokes
ralexstokes / validator-lifecycle.py
Last active April 29, 2021 15:58
validator-lifecycle
from graphviz import Digraph
font_name = "helvetica"
node_settings = {"fontname": font_name}
edge_settings = {"fontname": font_name}
title = "Validator lifecycle on the beacon chain (phase 0 spec)\n\n"
dot = Digraph(
title,
node_attr=node_settings,
import itertools
import time
import requests
LH_URL = "http://<host-elided>/consensus/global_votes"
MEDALLA_GENESIS_TIME = 1596546008
def _current_epoch():
t = int(time.time())
return (t - MEDALLA_GENESIS_TIME) // 12 // 32