Skip to content

Instantly share code, notes, and snippets.

@holgerd77
holgerd77 / EIP-7928_BAL_Spec_Improvement_Suggestions_Opus.md
Last active February 5, 2026 14:56
EIP-7928_BAL_Spec_Improvement_Suggestions_Opus

Spec: https://github.com/ethereum/EIPs/blob/fad1a1acab0a433970e47e0b73a4f8a28c220675/EIPS/eip-7928.md (2026-02-03)

"In Ethereum we strive for a lean and easy to implement protocol. With your experiences from implementing core BAL parts gained in this chat - when analyzing the EIP spec in @EIPs/EIPS/eip-7928.md would you see potential enhancements or changes to the spec itself, which would significantly reduce implementation effort on the one hand and have no or only litte downsides (if present, please name them) on the other side?"

2026-02-05, Cursor, Sonnet 4.5

EIP-7928 Block Access List Spec Improvement Proposals

Table of Contents

@holgerd77
holgerd77 / bal_empty_block_no_coinbase.json
Created January 22, 2026 13:43
bal_empty_block_no_coinbase
{
"tests/amsterdam/eip7928_block_level_access_lists/test_block_access_lists.py::test_bal_empty_block_no_coinbase[fork_Amsterdam-blockchain_test]": {
"network": "Amsterdam",
"genesisBlockHeader": {
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"uncleHash": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"coinbase": "0x0000000000000000000000000000000000000000",
"stateRoot": "0x6f978e5ec827eef738381e1ca1e9332001ac548e31fdb82b90319b3ae94e22d7",
"transactionsTrie": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"receiptTrie": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
@holgerd77
holgerd77 / ethereumjs-evm-bundle.js
Created September 20, 2024 08:27
Unminifed JS bundle of the EthereumJS EVM with all dependencies
const FORMAT = 239;
const MAGIC = 0;
const VERSION = 1;
const MAX_HEADER_SIZE = 49152;
const KIND_TYPE = 1;
const KIND_CODE = 2;
const KIND_CONTAINER = 3;
const KIND_DATA = 4;
const TERMINATOR = 0;
const TYPE_MIN = 4;
@holgerd77
holgerd77 / esm_transition.txt
Last active June 14, 2023 09:44
ESM Transition - .js File Path Additions - RegEx Cheat Sheet
Add Fully Qualified ESM Imports
-------------------------------
*****************************
In test and src folder
*****************************
RUN TESTS OFTEN (AFTER EACH LARGE OP)!!
EVENTUALLY IN-BETWEEN COMMITS!!
NO REGEX/REGEX EXTREMELY IMPORTANT (OTHERWISE FALSE REPLACEMENTS)!!
@holgerd77
holgerd77 / tape_vitest_regex.txt
Last active June 14, 2023 09:43
JavaScript Tape -> Vitest Test Runner Transition - RegEx Cheat Sheet
Tape -> Vitest Regex Expressions
--------------------------------
import * as tape from 'tape' // No regex
import { assert, describe, it } from 'vitest'
import type * as tape from 'tape' // No regex
import { assert, describe, it } from 'vitest'
**********************************
@holgerd77
holgerd77 / shandong-6101-trace
Created October 28, 2022 10:21
Shandong Block 6101 VM Trace - 2022-10-28
➜ net-env-cli DEBUG=vm:* ts-node shandong-ethers-state-manager-trace.ts
vm:block ---------------------------------------------------------------------------------------------------- +0ms
vm:block Running block hash=382c720b54a97bcb9388f5d1e422205c5174fd6d0f0fe431005dd32cd3928093 number=6101 hardfork=merge +0ms
vm:state ---------------------------------------------------------------------------------------------------- +0ms
vm:state message checkpoint +0ms
vm:block block checkpoint +1ms
vm:block Validate block +0ms
vm:block Apply transactions +28ms
vm:state ---------------------------------------------------------------------------------------------------- +28ms
vm:state message checkpoint +0ms
@holgerd77
holgerd77 / test.ts
Created October 5, 2022 11:05
Ethers State Manager Consecutive Mainnet Block Test
import { Chain, Common, Hardfork } from '@ethereumjs/common'
import { Account, Address, bigIntToHex, bufferToBigInt, bufferToHex } from '@ethereumjs/util'
import { VM } from '@ethereumjs/vm'
import { JsonRpcProvider } from '@ethersproject/providers'
import { EthersStateManager } from '../src/ethersStateManager'
const run = async () => {
const infura = 'https://mainnet.infura.io/v3/[YOUR-INFURA-KEY]'
const provider = new JsonRpcProvider(infura)
@holgerd77
holgerd77 / ethereumjs-blockchain_test_getHead.js
Created May 23, 2018 11:16
ethereumjs-blockchain - test getHead() for a reopened block-containing leveldown DB instance
'use strict'
const test = require('tape')
const Blockchain = require('..')
const Block = require('ethereumjs-block')
const async = require('async')
const ethUtil = require('ethereumjs-util')
const levelup = require('levelup')
const leveldown = require('leveldown')
const memdown = require('memdown')
@holgerd77
holgerd77 / pyethereum_CreateCollisionEmpty_d2g0v0_StackTrace_2017-11-10.txt
Created November 10, 2017 14:56
pyethereum - Stack Trace for CreateCollisionEmpty - d2g0v0 - 2017-11-10 (failing in ethereumjs)
Checking for values: g 600000 v 0 d 0x0000000000000000000000003000000000000000000000000000000000000000 (indexes g 0 v 0 d 2)
DEBUG:eth.pb.tx TX NEW txdict={'nonce': 0, 'hash': '0x868beab17e801e5beaf68bc9233a5a8bc736daa39aa46da956f9887f1d10416e', 'sender': '0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b', 'startgas': 600000, 'value': 0, 'to': '0x1a00000000000000000000000000000000000000', 's': 10066249554982021582834830964774847325135560337123958209132799759329933227148L, 'r': 60026381854559856462917477462139528776309580871168955053321074866071770826177L, 'v': 27, 'data': '0x0000000000000000000000003000000000000000000000000000000000000000', 'gasprice': 1}
DEBUG:eth.pb.msg MSG APPLY sender=a94f5374fce5edbc8e2a8697c15331677e6ebf0b pre_storage={'nonce': '0', 'balance': '0', 'storage': {}, 'code': '0x6000600060006000600060003562013880f1'} gas=578808 value=0 to=1a00000000000000000000000000000000000000 depth=0 static=False data=0000000000000000000000003000000000000000000000000000000000000000
TRACE:eth.vm.op vm gas=578808
@holgerd77
holgerd77 / BlockchainTests_noGST_2017-09-20.txt
Created September 20, 2017 17:24
BlockchainTests_noGST_2017-09-20.txt
> ethereumjs-vm@2.2.1 testBlockchain /Users/hdrewes/Documents/DEV/EthereumJS/ethereumjs-vm
> node --stack-size=1500 ./tests/tester -b --excludeDir='GeneralStateTests'
TAP version 13
# BlockchainTests
# file: BlockGasLimit2p63m1 test: BlockGasLimit2p63m1_Byzantium
ok 1 correct pre stateRoot
ok 2 correct genesis RLP
ok 3 last block hash