Commit Graph
56 Commits
Author SHA1 Message Date
I Dewa Gede Bisma Mahendra 696eb51125 feat: add dependency cooldown (#88) 2026-08-28 14:11:24 +08:00
illuzenandCursor 2c8d530de4 Send miner auth token in Ready handshake. (#78)
* Send miner auth token in Ready handshake.

Require --auth-token or --auth-token-file when connecting to a node so the
miner matches the node's shared-secret QUIC auth.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Pin the node's miner TLS certificate by SHA-256 fingerprint.

Require --tls-cert-sha256 or --tls-cert-sha256-file so miners reject
MITM certs instead of accepting any self-signed server certificate.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fmt

* Docs: prefer reading miner auth token from file, not node logs.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Version the miner ALPN as quantus-miner/2 to match the node.

A node/miner protocol mismatch now fails cleanly at the TLS handshake with
"no application protocol" instead of an opaque auth error.

Co-authored-by: Cursor <cursoragent@cursor.com>

* point at git

* Depend on published quantus-miner-api 0.3.0 from crates.io.

The temporary git branch pin is no longer needed now that 0.3.0 is published.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fail closed on permanent auth/TLS misconfig instead of reconnect looping.

Validate the fingerprint and Ready frame size at miner/pool startup before
metrics, workers, or HTTP come up. Treat node auth rejection and pin mismatch
as PermanentConnectError (no retry), and only reset reconnect backoff after
the first NewJob proves auth succeeded.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Point miner auth docs and examples at miner-auth-token / TLS pin files.

The node never logs the auth token; CLI/pool help and every serve/Docker
example now require the chain config files (or env vars) instead of implying
credentials can be copied from logs.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fmt

* Remove the miner Dockerfile and Docker packaging docs/CI.

Container GPU access is a poor fit for this miner, and the Docker examples
were unusable with SocketAddr (hostnames rejected). Run the native binary
instead.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Shut down the pool on permanent upstream auth failure; keep reconnecting otherwise.

Supervise run_node_client alongside HTTP so a bad token/pin ends the process
instead of leaving a live API on a dead upstream. Node restarts still reconnect
with backoff; the current job is cleared while disconnected so captchas are not
issued against a stale header.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Replace obsolete EXTERNAL_MINER_PROTOCOL.md with a pointer to MINING.md.

The local copy still described the pre-auth protocol (no Ready token, no pin,
old ALPN, 16 MB frames). Canonical docs live in quantus-miner-api and the
node's MINING.md.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Delete EXTERNAL_MINER_PROTOCOL.md; README already points at MINING.md.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 09:50:03 +08:00
Beast 4d53fff54b feat: make dockerfile use main an option 2026-06-24 17:16:00 +08:00
Beast 4ab6914331 fix: docker build 2026-06-24 16:44:49 +08:00
Nikolaus Heger 06933d5745 fix ci 2025-12-26 14:06:49 +08:00
Nikolaus Heger 96853cad23 restore serve command 2025-12-26 14:03:00 +08:00
Nikolaus Heger 4e7280cb0f fux ci 2025-12-26 13:58:27 +08:00
Nikolaus Heger c2773cb80d remove feature cpu 2025-12-26 13:50:48 +08:00
Nikolaus Heger f0aa971326 remove gpu feature, rename to gpu-devices
rename gpu-workers flag to devices, also check user doesn't specify more than they have (degrades performance)
2025-12-26 13:44:59 +08:00
Nikolaus Heger 2a36eeb3c3 Change workflows to have only GPU build 2025-12-26 13:02:43 +08:00
Cezary Olborski a51df35ca1 fix: Release - osx version (#37)
* fix: Release - OSX Version for Intel

* fix: OSX only for Intel
2025-12-23 06:25:18 +08:00
Cezary Olborski 516286836a fix: Release build script syntax (#35) 2025-12-23 05:56:08 +08:00
Cezary Olborski ad2d2c90ba fix: ADMIN_PAT for release proposal (#33) 2025-12-22 22:03:40 +08:00
illuzen b3cef7bab8 fix ci (#32) 2025-12-22 21:25:15 +08:00
Cezary Olborski 029cf6640a fix: Docker release - Workflow rename (#27) 2025-11-17 11:59:25 +08:00
Cezary Olborski 6715169630 fix: Unknown target fix 2025-11-17 11:53:17 +08:00
Cezary Olborski 8c0938333d fix: Docker workflow paths (#26)
* fix: Docker workflow paths

* remove commented cuda-builder workflow
2025-11-17 10:56:06 +08:00
Cezary Olborski 6831d6a493 feat: Docker image + release (#25)
* feat: Dockerfile

* feat: Docker release

* fix: Cuda build in CI OFF
2025-11-17 09:26:43 +08:00
Nikolaus Heger e0f7beef74 make major update actually work
remove weird special case for 0.x.x
2025-11-07 14:44:55 +08:00
Nikolaus Heger 06ddee497d remove montgomery from CI 2025-11-07 14:34:28 +08:00
illuzen 63d7e114c2 Support new pow algo on cpu, not gpu (#22)
* 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
2025-11-03 16:23:18 +08:00
Cezary Olborskiandczareko abc3fcfcd3 chore: RM - refreshed (#15)
* chore: Proper version distribution

* chore: version based on tags

---------

Co-authored-by: czareko <czareko@users.noreply.github.com>
2025-09-23 17:22:49 +08:00
Cezary Olborski 7f4fab91aa fix: ADMIN_PAT (#13) 2025-09-23 15:57:03 +08:00
Cezary Olborski 4dea7ec895 feat: Release with PR (#11) 2025-09-23 15:36:02 +08:00
Cezary Olborski 6f431e514d test: release workflow refreshed (#10) 2025-09-23 13:07:19 +08:00
Cezary Olborski 3adf1509a5 chore: CI improvements (#7)
* chore: CI flow unified

* fix: CI syntax
2025-09-23 12:10:58 +08:00
rob thijssen 2d8945ee34 Use ubuntu-latest runner for CI workflow instead of self-hosted 2025-09-17 00:01:48 +08:00
rob thijssen 84f2156c39 change trigger branches from 'cuda' to 'main' 2025-09-16 23:56:19 +08:00
rob thijssen 9f14ebd121 Merge pull request #4 from Quantus-Network/cuda
cuda mining engine
2025-09-16 23:53:16 +08:00
rob thijssen 8f051f543c Add build.rs to embed version with git SHA in miner-cli binary 2025-09-16 12:24:24 +08:00
rob thijssen 16057a8e20 Add optional CUDA sampler readback and parity check
Enable sampler debugging via MINER_CUDA_SAMPLER env var to verify
host/device parity of sampler outputs, logging warnings on mismatch

Add example env file for RTX 3060 debug configuration
2025-09-13 06:24:28 +03:00
rob thijssen 8a6de1a53f Simplify CUDA build workflow by removing Dockerfile
Replace multi-stage Docker build with direct use of cuda-builder image
for building and stripping quantus-miner binaries, streamlining CI
steps.
2025-09-13 06:07:01 +03:00
rob thijssen 94ef423ff9 ci: build builders 2025-09-13 10:58:17 +08:00
rob thijssen 9bfd75ba35 ci: syntax correction 2025-09-13 10:38:56 +08:00
rob thijssen 9d648f06c7 ci: syntax correction 2025-09-13 10:33:06 +08:00
rob thijssen 56c121e239 ci: syntax correction 2025-09-13 10:30:09 +08:00
rob thijssen 0a95ec6f87 ci: build builders: cuda-build:12.9.0, cuda-build:13.0.0 2025-09-13 10:25:52 +08:00
rob thijssen 8db0496b88 sampling logic for debugging decisions 2025-09-13 04:52:01 +03:00
rob thijssen cec209170f Fix paths-ignore order in CUDA workflow triggers 2025-09-12 12:47:29 +03:00
rob thijssen 99af459363 Reorder disk action step in CUDA build workflow 2025-09-12 12:44:04 +03:00
rob thijssen abd8c878f7 Add disk space cleanup action and integrate in CUDA workflow
Ignore unrelated file changes in CUDA workflow triggers to reduce
unnecessary runs
2025-09-12 11:29:06 +03:00
rob thijssen 96875e12b2 Use self-hosted runner for quality-control job in CI workflow 2025-09-12 11:17:36 +03:00
rob thijssen bfeb0328cd Refactor CUDA build workflow to use repo Containerfile
Replace inline Dockerfile with repo Containerfile and export built
binary via build output instead of docker image copy.
2025-09-12 09:14:55 +03:00
rob thijssen 48e99f9db5 reduce artifact retention to 3 days and add CUDA_HOME env variable 2025-09-12 08:49:26 +03:00
rob thijssen 70485d3d91 Remove optional rsync to CDN from CUDA build workflow 2025-09-12 08:39:29 +03:00
rob thijssen c703e7d273 Fix condition to check SSH key presence correctly in workflow 2025-09-12 08:38:46 +03:00
rob thijssen d2c39bbdcb ci: build cuda binaries 2025-09-12 08:29:09 +03:00
rob thijssen 50a620b9b4 fix clippy warning and simplify cpu feature detection in mont_portable
module
2025-09-11 10:13:35 +03:00
rob thijssen 49efb4ebc5 07: stable toolchain, rust validations
- 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
2025-09-09 21:39:01 +08:00
NIK 18c2c2b008 update toolchain 2025-08-29 18:01:50 +07:00