Commit graph

7 commits

Author SHA1 Message Date
Claude
f9ff8ad877
test(mining): integration test against C++ testnet daemon
Build-tagged //go:build integration. Fetches a real template,
decodes it, computes header mining hash.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 02:20:05 +00:00
Claude
340aa99db6
test(mining): add CheckNonce and OnNewTemplate coverage
Brings mining/ package coverage from 78% to 86.6%.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 02:19:05 +00:00
Claude
9bc3158384
test(mining): error handling for invalid difficulty, blob, and submit
Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 02:16:32 +00:00
Claude
ad121a2dd4
test(mining): block submission and stats verification
Tests with difficulty=1 for guaranteed block finding. Verifies
OnBlockFound callback, submit count, hashrate > 0.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 02:15:05 +00:00
Claude
538b7b2e02
feat(mining): mining loop with template fetch and nonce grinding
Start(ctx) blocks until cancelled. Polls daemon for new blocks,
decodes template, computes header hash once, grinds nonces with
RandomX, submits solutions.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 02:11:25 +00:00
Claude
a5185cacf4
feat(mining): Config, Stats, and Miner struct
TemplateProvider interface for testability. Atomic stats for
lock-free reads from any goroutine.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 02:07:05 +00:00
Claude
c6631e555b
feat(mining): header mining hash and nonce checking
Port of C++ get_block_header_mining_hash(). Computes BlockHashingBlob
with nonce=0, Keccak-256's it. CheckNonce wraps RandomX + difficulty.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 02:04:33 +00:00