Node on bob, external GPU miner on benjy, split because --miner-listen-port disables the node's built-in CPU mining. The PoW is Poseidon2 over Goldilocks: register-resident, no memory hardness, dominated by 64-bit modular multiplication. Measured on the fleet, GPU beats CPU by ~200x (RTX 5090 368 MH/s @ 600W, RTX 4090 183 MH/s @ 450W, Ryzen 9 9950X3D 4.15 MH/s), so CPU mining is disabled everywhere including on the GPU hosts. The workflow deploys or validates. Validate mode asserts the hash counter is advancing and the GPU is drawing power, because a miner that enumerated no adapter and a node authoring nothing both look healthy to systemctl is-active. infra-setup.sh provisions the scoped gitea_ci accounts, generates the node's libp2p key (the node refuses to start without one and it must never be rotated by a deploy), and derives the reward preimage from a seed phrase on stdin. It deliberately will not mint a fresh wallet: that phrase is escalation-grade and fails agent-credentials.md §1.
11 lines
521 B
XML
11 lines
521 B
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<service>
|
|
<short>quantus-node-miner</short>
|
|
<description>Quantus node external-miner control channel (QUIC/UDP). NOT a
|
|
public service: shared-secret auth plus a pinned self-signed TLS cert, and the
|
|
upstream docs are explicit that it must never be reachable from the open
|
|
internet. The deploy binds this to the miner host's mesh address with a
|
|
firewalld rich rule rather than adding it to the zone wholesale.</description>
|
|
<port protocol="udp" port="9833"/>
|
|
</service>
|