Skip to content

certenIO/miner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Certen Independent Miner

A standalone, cross-platform mining node for the Certen Protocol that can be run by anyone, anywhere.

Documentation

For complete setup instructions, configuration options, and troubleshooting guides, visit: https://github.com/certenIO/docs/tree/main/miner

Quick Start

  1. Install: Download the latest binary from Releases or use the pre-built binaries in bin/
  2. Initialize: certen-miner init
  3. Run: certen-miner run

Features

  • 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

Installation

Pre-built Binaries

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

Build from Source

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

Usage

Windows

# 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

Linux/macOS

# 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 validate

Common Commands

All platforms support the same command structure:

  • init - Creates configuration and generates identity key
  • run - Starts the mining node with P2P auto-discovery
  • status - Shows mining statistics and network status
  • validate - Tests configuration and connectivity
  • help - Shows available commands and options

Configuration

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"

Architecture

  • 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

Development

Build System

# Build for current platform
make build

# Cross-compile for all platforms
make cross-compile

# Run tests
make test

# Install dependencies
make deps

Project Structure

cmd/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

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

License

Copyright 2025 Certen Protocol. All rights reserved.

About

P2P Certen Miner Nodes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors