* handle lost device correctly
* Update lib.rs
* allow-integrated flag otherwise exclude
* DeviceLost is a status
* Integrated GPU skipped when discrete init fails
* nits
* improve logging
* don't let the queue spill, just drain it
* move cancellation out of the shader, since it doesn't work
* simplify batch size mechanism, improve logs
* fmt
* address review items
* implement quic
* simpler names
* simplify worker logic
* simplify gpu configuration logic
* miner initiates and picks random start nonce
* remove mining service
* clean up logs and remove unused engines
* clean up metrics
* metrics fix
* shared worker pool, cpu driven cancellation
just 10x the gpu thru-put, no more batch-size on gpu
* fmt
* non-local git
* taplo derp
* fix the benches
* handle stale results correctly in gpu
* more accurate gpu hashrate
* fmt
* remove unused
* handle duplicate solutions, cli controls gpu cancel frequency
* put plonky2 back
* demote noisy log
* ok wgpu runs hello world
* toy hasher
* separate wgsl file
* kinda poseidon2
* test vectors
* closer
* a bit of debug
* closer
* sort of almost
* fixed gf_mul
* merge gf_mul back into mining, clean up tests
* fix bytes_to_field_elements
* linear layer fixed
* maybe better?
* mds tests
* cleanup debug output
* found gf_mul bug
* fixed gf_mul bug
* efficient sbox again
* mds matches
* cleanup
* test internal layer
* cleaner
* external linear passes
* external layer tests
* fixed the constants
* moar tests
* more cleaning
* actually test just internal
* fairly clean tests now
* removed another pointless test
* more cleanup
* gf_from_const tests
* testing
* fixed permutations
* double hash tests, but they fail
* moar tests!
* hash-twice works, thanks Gemini 3 Pro!
* gpu runs but doesn't mine
* better logging
* lock workers to gpu
* send target to gpu not difficulty
* fix verify_nonce
* double hash failures
* double hash matches
* tests pass and it mines now
* fix benches
* a bit faster now
* improved logging
* fix benches
* simplified gpu code
* further simplification
* a bit simpler
* slight simplification
* a bit faster
* dynamic thread allocation and work coarsening
* more benching
* faster
* faster
* faster
* clean up documentation
* a bit faster
* simplify
* simplify
* optimized mds
* almost par with cpu now
* fmt
* clippy
* support multiple gpus
* clippy
* unused
* fixed some logs
---------
Co-authored-by: Nikolaus Heger <nheger@gmail.com>
* support new pow algo, remove montgomery
* format
* remove redundant check
* use local poseidon until we release
* back to release
* remove unnecessary fxn
* comment out cuda for now
* comment out open-cl
* fix more tests
* remove cuda jobs
- Verify Baseline and Fast CPU engines produce matching results - Test
Exhausted and Cancelled engine states with precise hash counts - Cover
miner-service request validation error branches - Test miner-service
HTTP endpoints for expected status codes - Confirm chunked mining sends
progress and completion messages
- Switch toolchain to stable with clippy and rustfmt components - Clean
up Clippy warnings with inline format args and hygiene fixes - Add GPU
engine placeholders (gpu-cuda, gpu-opencl) in CLI and service - Return
clear runtime error and exit for unimplemented GPU engines - Format all
TOML files with Taplo and ensure taplo fmt --check passes - Improve
mining nonce partitioning for safe range splits - Update tests to pass
cleanly on stable without warnings
- Introduce ChainManipulatorEngine using fast incremental hashing path -
Throttle mining speed per solved block using sleeps after nonce batches
- Add CLI/env options to control base delay, batch size, throttle cap,
and resume state - Wire engine selection and parameters through
miner-service and miner-cli - Add debug logs for throttle state at job
start and on block found - Add new Grafana panel showing robust
difficulty median per chain for visibility
Convert repository into Cargo workspace with modular crates
- Split code into workspace members: miner-cli, miner-service, pow-core,
engine-cpu, engine-gpu-cuda, engine-gpu-opencl, metrics - Moved QPoW
math logic into local pow-core crate with compatibility API and
incremental helpers - Defined MinerEngine trait and baseline CPU engine
in engine-cpu crate - Rewrote service layer in miner-service: job
management, HTTP API, engine orchestration - Added CLI binary crate
miner-cli with flags: --port, --num-cores, --metrics-port, --engine -
Implemented runtime toggle for Prometheus metrics exporter enabled only
when --metrics-port provided - Deprecated root src/lib.rs and
src/main.rs with notices pointing to new CLI/workspace entrypoints