Skip to content

AES-optimized cpuminer

License

Unknown, GPL-2.0 licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING
Notifications You must be signed in to change notification settings

tpruvot/cpuminer-opt

 
 

Repository files navigation

CPUMiner-opt Build Status

This is a multi-threaded CPU miner, fork of pooler's cpuminer (see AUTHORS for list of contributors).

This specific fork has AES optimizations for many algorithms, they are automatically used if your compiler, your CPU and the algorithm in question support it.

How to build

git clone https://github.com/hmage/cpuminer-opt
cd cpuminer-opt
sudo apt-get install build-essential libssl-dev libcurl4-openssl-dev libjansson-dev libgmp-dev automake g++
./build.sh

Instead of ./build.sh you can execute the following commands :

./autogen.sh
CFLAGS="-O3 -march=native -Wall" CXXFLAGS="$CFLAGS -std=gnu++11" ./configure --with-curl
make

To start mining

./cpuminer -a algo ...

Building on Windows

prerequisites :

msys mingw_w64 pthreads, curl and openssl

Install msys and mingw_w64, only needed once.

Unpack msys into C:\msys or your preferred directory.

Install mingw_w64 from win-builds. Follow instructions, check "msys or cygwin" and "x86_64" and accept default existing msys instalation.

Open a msys shell by double clicking on msys.bat. Note that msys shell uses linux syntax for file specifications, "C:" is mounted at "/c/".

Add mingw bin directory to PATH variable PATH="/c/msys/opt/windows_64/bin/:$PATH"

Instalation complete, compile cpuminer-opt

Unpack cpuminer-opt source files using tar from msys shell, or using 7zip or similar Windows program.

In msys shell cd to miner directory. cd /c/path/to/cpuminer-opt

Requirements

  • CPU that supports SSE2.
  • Linux.
  • Recent enough gcc that supports -march=native.

Algorithms

  • scrypt (Litecoin, Dogecoin, Feathercoin, ...)
  • scrypt:N
  • sha256d (Bitcoin, Freicoin, Peercoin/PPCoin, Terracoin, ...)
  • axiom (Axiom Shabal-256 based MemoHash)
  • blake (Saffron [SFR] Blake-256)
  • bmw (Midnight [MDT] BMW-256)
  • cryptonight (Bytecoin [BCN], Monero)
  • cryptonight-light (Aeon)
  • dmd-gr (Diamond-Groestl)
  • fresh (FreshCoin)
  • groestl (Groestlcoin)
  • lyra2RE (Lyrabar, Cryptocoin)
  • lyra2REv2 (VertCoin [VTC])
  • myr-gr (Myriad-Groestl)
  • neoscrypt (Feathercoin)
  • nist5 (MistCoin [MIC], TalkCoin [TAC], ...)
  • pentablake (Joincoin)
  • pluck (Supcoin [SUP])
  • quark (Quarkcoin)
  • qubit (MyriadCoin [MYR])
  • skein (Skeincoin, Myriadcoin, Xedoscoin, ...)
  • skein2 (Woodcoin)
  • s3 (OneCoin)
  • scrypt-jane (YaCoin, CopperBars, Pennies, Tickets, etc..)
  • x11 (Darkcoin [DRK], Hirocoin, Limecoin, ...)
  • x13 (Sherlockcoin, [ACE], [B2B], [GRC], [XHC], ...)
  • x14 (X14, Webcoin [WEB])
  • x15 (RadianceCoin [RCE])
  • zr5 (Ziftrcoin [ZRC])

Implemented, but untested

  • ? blake2s
  • ? hefty1 (Heavycoin)
  • ? keccak (Maxcoin, HelixCoin, CryptoMeth, Galleon, 365coin, Slothcoin, BitcointalkCoin)
  • ? luffa (Joincoin, Doomcoin)
  • ? shavite3 (INKcoin)
  • ? sib (SibCoin)

Dependencies

Easiest way to get them on Debian-based distributions is to run:

sudo apt-get install libssl-dev libjansson-dev libcurl4-nss-dev

Usage instructions

Run cpuminer --help to see options.

Connecting through a proxy

Use the --proxy option.

To use a SOCKS proxy, add a socks4:// or socks5:// prefix to the proxy host .

Protocols socks4a and socks5h, allowing remote name resolving, are also available since libcurl 7.18.0.

If no protocol is specified, the proxy is assumed to be a HTTP proxy.
When the --proxy option is not used, the program honors the http_proxy and all_proxy environment variables.

Donations

Donations for the work done in this fork are accepted:

Tanguy Pruvot :

  • BTC: 1FhDPLPpw18X4srecguG3MxJYe4a1JsZnd
  • ZRC: ZX6LmrCwphNgitxvDnf8TX6Tsegfxpeozx

Lucas Jones :

  • MRO: 472haywQKoxFzf7asaQ4XKBc2foAY4ezk8HiN63ifW4iAbJiLnfmJfhHSR9XmVKw2WYPnszJV9MEHj9Z5WMK9VCNHaGLDmJ
  • BTC: 139QWoktddChHsZMWZFxmBva4FM96X2dhE

Jay D Dee:

  • BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT

HMage:

  • BTC: 1HMageKbRBu12FkkFbMEcskAtH59TVrS2G

Credits

CPUMiner-multi was forked from pooler's CPUMiner, and has been started by Lucas Jones.

  • tpruvot added all the recent features and newer algorythmns
  • Wolf9466 helped with Intel AES-NI support for CryptoNight

License

GPLv2. See COPYING for details.

About

AES-optimized cpuminer

Resources

License

Unknown, GPL-2.0 licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • C 84.8%
  • C++ 8.3%
  • Assembly 4.1%
  • Objective-C 2.1%
  • Roff 0.2%
  • NSIS 0.2%
  • Other 0.3%