Windows combined package 0.2.0 (proto-cuda/windows-app): v4 exes from target-integration, peers = seed then Mac, fresh appdir devnet-v4, one miner and one worker per card with --identities 8, --evm-address (PAYOUT_EVM or derived per vendor from the PC name), voting on (VOTE=0 opts out), --prepare-packs for the hot swap with --exit-on-seed-change as the fallback, --yes on the node, STATUS regex tolerant of the v4 now= segment, version in the dashboard header. Mac app 0.2.0 (packaging/mac): v4 binaries, Metal worker rebuilt for macOS 11, data folder devnet-v4, EVM payout, identities in one process, synced= flag honoured. Seed (infra/seed-nodes): stage-v4.sh builds v4 on the VM as a niced, memory-capped transient service and installs a disabled igneumd-v4 unit with a fresh data dir; switch-v4.sh swaps the units (--back reverses); health.sh reports active-v4. Runbook: docs/plans/cutover-2026-10-04.md. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
49 lines
2.3 KiB
PowerShell
49 lines
2.3 KiB
PowerShell
# Igneum devnet mining test, Windows launcher: the miners only. Started by START-MINING.bat, which sets the settings as
|
|
# environment variables (NODE_HOST, NODE_PORT, PAYOUT_EVM, PAYOUT_ADDRESS, VOTE, NVIDIA_DEVICE, CUDA_ARCH, AMD_VENDOR,
|
|
# AMD_DEVICE, USE_NVIDIA, USE_AMD, MINERS, ONE_PROCESS_PER_IDENTITY, NVIDIA_JOB_NONCES, AMD_JOB_NONCES, PLAIN, VCVARS,
|
|
# VCVARS_VER). 3 October 2026; devnet v4 (package 0.2.0) 4 October 2026.
|
|
# The functions live in igneum-common.ps1; START-IGNEUM.bat runs the same code with the node in the same window.
|
|
#
|
|
# Order: GPUs and tools, igneum-miner.exe, the node must answer, the pack is exported and the workers built (cached by
|
|
# the pack's seeds), MINERS identities per vendor start, then the dashboard loop (status every 30 s, uploads every 60 s,
|
|
# restarts on seed change or crash). Ctrl+C stops everything, prints a summary and uploads once more.
|
|
|
|
$launcherName = 'launcher'
|
|
. (Join-Path $PSScriptRoot 'igneum-common.ps1')
|
|
|
|
$script:title = 'Igneum: miners only'
|
|
$note = Resolve-NodeHost # NODE_HOST=auto: a node on this PC first, else the Mac
|
|
Log "igneum mining launcher $packageVersion ($chainVersion) on $machine, node $nodeUrl$note (run $stamp)"
|
|
|
|
$plan = Find-Hardware
|
|
if ($plan.Count -eq 0) { Log 'nothing to run. Fix the missing tool above and start again.'; exit 1 }
|
|
if (-not (Confirm-Miner)) { exit 1 }
|
|
|
|
if (-not (Test-TcpPort $nodeHost ([int]$nodePort) 3000)) { Log "cannot reach the node at ${nodeHost}:${nodePort}. Is the node running and on the same network? (START-IGNEUM.bat runs one on this PC)"; exit 1 }
|
|
Log "node reachable at ${nodeHost}:${nodePort}"
|
|
|
|
if (-not (Initialize-Vendors $plan)) { exit 1 }
|
|
|
|
Start-AllMiners
|
|
Start-Sleep -Seconds 10
|
|
Report-WorkerReady
|
|
Upload-Logs # first upload right after the start summary, so a failed start reaches the intake too
|
|
Log 'first upload done'
|
|
|
|
Enable-KeepAwake 'mining'
|
|
[Console]::TreatControlCAsInput = $true
|
|
Log 'running. Press Ctrl+C to stop (the summary prints and the logs are uploaded one last time).'
|
|
Start-ChainSample
|
|
Start-Dashboard
|
|
$stop = $false
|
|
try {
|
|
while (-not $stop) {
|
|
Start-Sleep -Milliseconds 500
|
|
if (Test-StopKey) { $stop = $true; break }
|
|
Update-AllInstances
|
|
Invoke-CommonStep
|
|
Update-Miners
|
|
}
|
|
} finally {
|
|
Stop-Everything $(if ($stop) { 'Ctrl+C: stopping' } else { '' })
|
|
}
|