Skip to content

build: use sys-asm's committed bytecode; mine-deposit QoL knobs - #7

Merged
pk910 merged 3 commits into
pk910:mainfrom
barnabasbusa:busa/sys-asm-initcode
Oct 13, 2026
Merged

pk910 merged 3 commits into
pk910:mainfrom
barnabasbusa:busa/sys-asm-initcode

Conversation

@barnabasbusa

Copy link
Copy Markdown

Third round of build-system follow-ups from the busa/sys-asm-initcode branch (after #3/#4).

What changed

  • Use sys-asm's committed bytecode instead of assembling with geas (354381f):
    sys-asm commits the assembled bytecode under bytecode/<contract>/ctor.hex precisely so
    consumers don't need the geas assembler, whose output could differ between versions
    (thanks @fjl for the pointer). The initcode* / mine-deposit targets now read those
    files; the geas dependency is gone entirely.
    • Submodule repointed to ethereum/sys-asm (the builder contracts landed on main,
      resolving the old TODO) and the gitlink bumped to a0c61db, the EIP-8282 PR#52
      merge commit. Verified byte-identical to the init code prior mining runs used.
    • The Makefile no longer hardcodes a revision: the submodule gitlink is the pin,
      REF=<sha|branch> remains as an override, and the targets error clearly if the
      checked-out revision predates the committed bytecode.
  • START_NONCE knob for mine-deposit (0615f7b): pins the GPU search start offset
    for reproducible runs. The flag is only passed when set — note it needs a miner with
    --start-nonce support (search: randomize GPU start nonce (add --start-nonce) #5), so merging search: randomize GPU start nonce (add --start-nonce) #5 first makes it usable.
  • mine-deposit auto-saves logs (958180c): each run tees to runs/<ts>.log and
    extracts the Found! block to runs/<ts>.result.txt.

🤖 Generated with Claude Code

barnabasbusa and others added 3 commits July 7, 2026 11:05
Wire the miner's --start-nonce through the Makefile: the GPU search picks
a random start offset by default (fresh range per run); set START_NONCE=<n>
to pin it for a reproducible search. Passed only when non-empty, so it
stays compatible with miners that predate the flag.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Previously mine-deposit only streamed to stdout; the result had to be
captured by hand. Now it tees the full run to runs/mine-deposit-<ts>.log
and extracts the Found block to runs/mine-deposit-<ts>.result.txt.
Override the location with RUNS_DIR=.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
sys-asm commits the assembled bytecode under bytecode/<contract>/ctor.hex
precisely so consumers don't need the geas assembler, whose output could
differ between versions. Read those files instead of running geas.

Also resolve the old TODO now that the builder contracts landed upstream:
point the submodule at ethereum/sys-asm main and bump the gitlink to
a0c61db (the EIP-8282 PR#52 merge). The committed bytecode there is
byte-identical to the init code the existing vanity mining runs used, so
mined addresses and presigned deploy txs remain valid.

The Makefile no longer hardcodes a revision: the submodule gitlink is the
pin, and REF=<sha|branch> stays available as an override.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@pk910
pk910 merged commit d8874b2 into pk910:main Oct 13, 2026
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