Files
jackpot-miner/Cargo.toml
T
jackpotincorporated e2fab622b5 Initial commit: jackpotminer Equihash 192,7 miner
GPU-accelerated Equihash 192,7 miner in Rust with three solver backends:
- CPU: Wagner's algorithm, AVX2 packed slots (xenoncat-style)
- OpenCL: full on-GPU solve (kernels/equihash.cl); runs on NVIDIA and AMD
- CUDA: driver-API replay of miniZ's extracted fatbin (src/miniz/)

Also includes a default-off pearlhash backend (src/pearl/, native CPU core +
NVRTC int8-GEMM GPU kernels) and a WIP Ethash CUDA backend (src/ethash/).

Reverse-engineering scratch (alpha-miner, pearl-dump/) and the active runtime
config (mine.toml) are gitignored; mine.example.toml is the template.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 23:08:20 -04:00

64 lines
2.2 KiB
TOML

[package]
name = "jackpotminer"
version = "0.1.0"
edition = "2021"
description = "A GPU-accelerated Equihash 192,7 miner (ZClassic and other 192,7 coins)"
[dependencies]
blake2b_simd = "1"
sha2 = "0.10"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"
hex = "0.4"
rayon = "1"
num_cpus = "1"
core_affinity = "0.8"
clap = { version = "4", features = ["derive"] }
log = "0.4"
env_logger = "0.11"
anyhow = "1"
ctrlc = "3"
socket2 = "0.5"
ocl = { version = "0.19", optional = true }
ratatui = "0.30.0"
eframe = { version = "0.28", optional = true }
# Pearl (PRL) pearlhash backend deps (feature `pearl`).
blake3 = { version = "1.5", optional = true }
primitive-types = { version = "0.12", optional = true }
rand = { version = "0.9", optional = true }
bincode = { version = "1", optional = true }
base64 = { version = "0.22", optional = true }
[features]
default = ["gpu", "cuda", "config-gui"]
gpu = ["dep:ocl"]
# CUDA backend: drives miniZ's embedded Equihash 192,7 fatbin via the CUDA driver
# API. build.rs only links libcuda (no nvcc / kernel compilation needed).
cuda = []
# Ethash backend (miniZ's extracted Ethash solver), default-off / work-in-progress:
# blobs + replay scaffold live in src/ethash/; needs a captured launch recording to
# go live (see src/ethash/README.md). Pulls in the same libcuda link as `cuda`.
ethash = ["cuda"]
# Pearl (PRL) pearlhash backend (default-off): native CPU miner+verifier ported
# from the open-source reference. See src/pearl/ and pearl-dump/SPEC.md.
pearl = ["dep:blake3", "dep:primitive-types", "dep:rand", "dep:bincode", "dep:base64"]
# Pearl GPU acceleration: NVRTC-compiled int8 GEMM+transcript kernel (links
# libcuda + libnvrtc; no build-time nvcc). Validated against the CPU reference.
pearl-cuda = ["pearl"]
# Optional native GUI config editor (the `jackpotminer-config` binary). Off by
# default so the miner never pulls in the GUI toolkit.
config-gui = ["dep:eframe"]
# The GUI config editor is a separate binary, built only with --features config-gui.
[[bin]]
name = "jackpotminer-config"
path = "src/config_gui.rs"
required-features = ["config-gui"]
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"