A standalone, cross-platform mining node for the Certen Protocol that can be run by anyone, anywhere.
For complete setup instructions, configuration options, and troubleshooting guides, visit: https://github.com/certenIO/docs/tree/main/miner
- Install: Download the latest binary from Releases or use the pre-built binaries in
bin/ - Initialize:
certen-miner init - Run:
certen-miner run
- Standalone - No external dependencies or coordination required
- Cross-platform - Windows, macOS, Linux (AMD64/ARM64)
- Auto-discovery - Automatically finds and connects to other miners
- Secure - LibP2P with Noise encryption and Ed25519 keys
- Fast - LXR proof-of-work optimized for modern hardware
- Monitoring - Built-in status and peer monitoring
The following binaries are available in the bin/ directory:
- Windows:
bin/certen-miner-windows-amd64.exe - macOS Intel:
bin/certen-miner-darwin-amd64 - macOS Apple Silicon:
bin/certen-miner-darwin-arm64 - Linux AMD64:
bin/certen-miner-linux-amd64 - Linux ARM64:
bin/certen-miner-linux-arm64
Download latest releases from: https://github.com/certenIO/miner/releases
git clone https://github.com/certenIO/miner.git
cd miner
# Build for current platform
make build
# Build for all platforms
make build-all
# Create distribution with checksums
make dist# Navigate to binary directory
cd bin\
# Initialize miner (first time only)
.\certen-miner-windows-amd64.exe init
# Start mining
.\certen-miner-windows-amd64.exe run
# Check status
.\certen-miner-windows-amd64.exe status
# Validate configuration
.\certen-miner-windows-amd64.exe validate# Navigate to binary directory
cd bin/
# Make binary executable (first time only)
chmod +x certen-miner-linux-amd64
# Initialize miner (first time only)
./certen-miner-linux-amd64 init
# Start mining
./certen-miner-linux-amd64 run
# Check status
./certen-miner-linux-amd64 status
# Validate configuration
./certen-miner-linux-amd64 validateAll platforms support the same command structure:
init- Creates configuration and generates identity keyrun- Starts the mining node with P2P auto-discoverystatus- Shows mining statistics and network statusvalidate- Tests configuration and connectivityhelp- Shows available commands and options
Configuration file: ~/.certen/miner/config.yaml
# Unique miner identifier (generated automatically)
miner_id: "your-unique-miner-id"
# Validator URL (production network)
validator_url: "https://validator.certen.io"
# P2P networking configuration
listen_addrs:
- "/ip4/0.0.0.0/tcp/4001"
- "/ip4/0.0.0.0/udp/4001/quic-v1"
# Bootstrap peers for network discovery
bootstrap_peers:
- "/dns4/bootstrap.certen.io/tcp/4001/p2p/12D3KooWBootstrap1..."
# Mining intervals
audit_interval: "5s"
heartbeat_interval: "30s"
# Data directory for miner state
data_dir: "~/.certen/miner"
# Identity key file location
identity_key: "~/.certen/miner/identity.key"
# Logging level
log_level: "info"- CLI Interface - Cobra-based command line interface
- P2P Network - LibP2P with GossipSub and Kademlia DHT
- Proof Verification - Fetches and validates canonical proofs from validators
- LXR Mining - Accumulate-compatible proof-of-work algorithm
- Configuration - YAML-based with Viper library
# Build for current platform
make build
# Cross-compile for all platforms
make cross-compile
# Run tests
make test
# Install dependencies
make depscmd/miner/ # CLI entry point
pkg/
cli/ # Cobra CLI commands
config/ # Configuration management
identity/ # LibP2P identity handling
lxr/ # LXR proof-of-work engine
node/ # Core mining node logic
verifier/ # Proof verification
mining/ # Protocol buffers and types
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
Copyright 2025 Certen Protocol. All rights reserved.