Skip to content

build: assemble EIP-8282 init code from a pinned sys-asm submodule - #3

Merged
pk910 merged 2 commits into
pk910:pk910/gpu-minerfrom
barnabasbusa:busa/sys-asm-initcode
Jul 7, 2026
Merged

pk910 merged 2 commits into
pk910:pk910/gpu-minerfrom
barnabasbusa:busa/sys-asm-initcode

Conversation

@barnabasbusa

Copy link
Copy Markdown

Stacked on top of #1 (gpu miner) — base is pk910/gpu-miner, not main, so the diff is only the sys-asm wiring.

What & why

EIP-8282 PR ethereum/sys-asm#43 bumped the builder-deposit TARGET_PER_BLOCK/MAX_PER_BLOCK to 32/256. That changes the assembled runtime (566→568 bytes) and therefore the deployment init code (611→613 bytes), which invalidates any previously mined vanity address. Rather than hand-vendoring the contract, this wires the miner to assemble it straight from upstream.

Changes

  • Add ethereum/sys-asm as a submodule pinned to the PR #43 head (wemeetagain:add-8282 @ 537b9c1). Pinned by SHA, so it's immune to force-pushes on the open PR branch.
  • Makefile targets (assemble with geas):
    • make initcode-deposit / initcode-exit — print 0x-prefixed init code, pipeable into ./nick search --initcode.
    • make initcode — both, with byte sizes and the assembled commit.
    • make mine-deposit EIP=<n> — assemble + run the GPU vanity search.
  • REF selects the sys-asm commit/branch at runtime (SHA used from the local clone; a branch is fetched on demand). Default is the pinned PR head until the contracts land on sys-asm main.
  • Vanity params derive from EIP: address is 0x0000-leading with a 00<eip> suffix and sig-r spelling the EIP number. EIP has no default — make mine-deposit fails asking which EIP to mine. PREFIX/SUFFIX/SIG_R stay individually overridable.

Notes / follow-ups

🤖 Generated with Claude Code

barnabasbusa and others added 2 commits June 17, 2026 08:11
Add ethereum/sys-asm (PR #43 head, wemeetagain:add-8282 @ 537b9c1) as a
submodule and Makefile targets that assemble the builder deposit/exit
predeploy init code with geas, ready for `./nick search --initcode`.

- `make initcode[-deposit|-exit]` emit the 0x-prefixed init code; `make
  mine-deposit EIP=<n>` assembles and runs the GPU vanity search.
- REF selects the sys-asm commit/branch at runtime (default: the pinned
  PR head; a branch is fetched on demand). TODO: flip the default to
  ethereum/sys-asm main once PR #43 lands.
- The target address is 0x0000-leading with a 00<eip> suffix and sig-r
  spelling the EIP number; EIP has no default, so `make mine-deposit`
  fails asking which EIP to mine. PREFIX/SUFFIX/SIG_R remain overridable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The EIP is a runtime input; keep the comments/examples generic rather
than hardcoding a particular EIP number or upstream PR reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants