* docs: update systemd example for the serve CLI with required node auth
The unit and readme still described the old HTTP-API miner (MINER_PORT,
MINER_ENGINE, no subcommand). Update ExecStart to 'serve' and document the
now-required MINER_AUTH_TOKEN_FILE / MINER_TLS_CERT_SHA256_FILE, including
how to copy the node's miner-auth-token and miner-tls-cert-sha256 files
past ProtectHome=true, and refresh the env var reference to the current
CLI.
* docs: fix env-file example and CPU-worker claims per review
- Move inline comments off the env assignments: systemd EnvironmentFile=
keeps inline '# ...' text as part of the value, so the copied example fed
Clap unparseable values and the unit crash-looped under Restart=always.
- Describe the real worker behavior: CPUs are counted via the process
affinity mask (num_cpus); unset MINER_CPU_WORKERS auto-detects ~50%, and
an explicit value is used as-is — there is no clamp or warning.
- Drop the 'logs the detected cpuset mask' claim from the unit and override
comments; no such logging exists in the miner.
* docs: metrics exporter is always on; purge-chain does not rotate credentials
- The Prometheus exporter starts unconditionally and binds plaintext HTTP on
0.0.0.0:9900 by default; MINER_METRICS_PORT only changes the port. Say so
everywhere instead of 'when metrics are enabled', and add a hardening note
to firewall the port.
- Rephrase the credential-rotation pitfall: purge-chain removes only the
database, so the node reloads the same miner-auth-token and TLS cert;
rotation only happens when the base path changes or the files themselves
are deleted.
* 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
- Detect effective CPUs with cpuset awareness (cgroup v2/v1 fallback) -
Log detected cpuset mask or fallback info at startup (debug) - Expose
miner_effective_cpus Prometheus gauge (metrics feature) - Add
production-ready systemd unit and example CPU affinity overrides -
Include documentation for installation, overrides, and validation