cpuminer with mtp support
Switch branches/tags
Nothing to show
Clone or download
Latest commit 9dc1db2 Dec 10, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
algo revert master to the one scratchpad version per core Dec 10, 2018
api cpuminer with mtp initial commit Sep 17, 2018
argon2ref revert master to the one scratchpad version per core Dec 10, 2018
asm cleaning Nov 29, 2018
compat improved stability (at least for windows) Dec 8, 2018
crypto cleaning Nov 29, 2018
lyra2 cleaning Nov 29, 2018
m4 cpuminer with mtp initial commit Sep 17, 2018
merkletree revert master to the one scratchpad version per core Dec 10, 2018
res cpuminer with mtp initial commit Sep 17, 2018
scryptjane cpuminer with mtp initial commit Sep 17, 2018
sha3 cleaning Nov 29, 2018
yescrypt cleaning Nov 29, 2018
.gitignore revert master to the one scratchpad version per core Dec 10, 2018
.travis.yml cpuminer with mtp initial commit Sep 17, 2018
AUTHORS cpuminer with mtp initial commit Sep 17, 2018
Android.mk cpuminer with mtp initial commit Sep 17, 2018
COPYING cpuminer with mtp initial commit Sep 17, 2018
ChangeLog cpuminer with mtp initial commit Sep 17, 2018
Dockerfile cpuminer with mtp initial commit Sep 17, 2018
LICENSE cpuminer with mtp initial commit Sep 17, 2018
Makefile cleaning Nov 29, 2018
Makefile.am fixes for linux Nov 29, 2018
Makefile.in fixes for linux Nov 29, 2018
NEWS cpuminer with mtp initial commit Sep 17, 2018
README.md fixes for linux Nov 29, 2018
RUN-ZCOIN-MTP.cmd Update RUN-ZCOIN-MTP.cmd Dec 10, 2018
api.c cpuminer with mtp initial commit Sep 17, 2018
autogen.sh revert master to the one scratchpad version per core Dec 10, 2018
base58.cpp stratum support for mtp Nov 27, 2018
build.sh cpuminer with mtp initial commit Sep 17, 2018
compat.h cpuminer with mtp initial commit Sep 17, 2018
compile fixes for linux Nov 29, 2018
config.guess fixes for linux Nov 29, 2018
config.status cleaning Nov 29, 2018
config.sub fixes for linux Nov 29, 2018
configure fixes for linux Nov 29, 2018
configure.ac revert master to the one scratchpad version per core Dec 10, 2018
cpu-miner.c revert master to the one scratchpad version per core Dec 10, 2018
cpuminer-conf.json cpuminer with mtp initial commit Sep 17, 2018
cpuminer-config.h.in fixes for linux Nov 29, 2018
cpuminer.1 cpuminer with mtp initial commit Sep 17, 2018
cpuminer.nsi cpuminer with mtp initial commit Sep 17, 2018
cpuminer.sln cpuminer with mtp initial commit Sep 17, 2018
cpuminer.vcxproj revert master to the one scratchpad version per core Dec 10, 2018
cpuminer.vcxproj.filters fixes for linux Nov 29, 2018
depcomp fixes for linux Nov 29, 2018
elist.h cpuminer with mtp initial commit Sep 17, 2018
install-sh fixes for linux Nov 29, 2018
miner.h revert master to the one scratchpad version per core Dec 10, 2018
mingw64.sh cpuminer with mtp initial commit Sep 17, 2018
missing fixes for linux Nov 29, 2018
nomacro.pl cpuminer with mtp initial commit Sep 17, 2018
stamp-h1 fixes for linux Nov 29, 2018
sysinfos.c cpuminer with mtp initial commit Sep 17, 2018
uint256.cpp cpuminer with mtp initial commit Sep 17, 2018
uint256.h cpuminer with mtp initial commit Sep 17, 2018
util.c revert master to the one scratchpad version per core Dec 10, 2018

README.md

CPUMiner-Multi

Build Status

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

Table of contents

Algorithms

Currently supported

  • scrypt (Litecoin, Dogecoin, Feathercoin, ...)
  • scrypt:N
  • scrypt-jane:N
  • sha256d (Bitcoin, Freicoin, Peercoin/PPCoin, Terracoin, ...)
  • axiom (Axiom Shabal-256 based MemoHash)
  • bastion (Joincoin [J])
  • bitcore Permuted serie of 10 algos (BitCore)
  • blake (Saffron [SFR] Blake-256)
  • blake2s (NevaCoin Blake2-S 256)
  • bmw (Midnight [MDT] BMW-256)
  • cryptonight (Bytecoin [BCN], Monero [XMR])
  • cryptonight-light (Aeon)
  • decred (Blake256-14 [DCR])
  • dmd-gr (Diamond-Groestl)
  • fresh (FreshCoin)
  • groestl (Groestlcoin)
  • jha (JackpotCoin, SweepStake)
  • lbry (LBRY Credits [LBC])
  • lyra2RE (Cryptocoin)
  • lyra2REv2 (VertCoin [VTC])
  • myr-gr Myriad-Groestl (MyriadCoin [MYR])
  • neoscrypt (Feathercoin)
  • nist5 (MistCoin [MIC], TalkCoin [TAC], ...)
  • pentablake (Joincoin)
  • pluck (Supcoin [SUP])
  • quark (Quarkcoin)
  • qubit (GeoCoin)
  • skein (Skeincoin, Myriadcoin, Xedoscoin, ...)
  • skein2 (Woodcoin)
  • s3 (OneCoin)
  • sia (Reversed Blake2B for SIA [SC])
  • sib X11 + gost streebog (SibCoin)
  • timetravel Permuted serie of 8 algos (MachineCoin [MAC])
  • tribus 3 of the top NIST5 algos (Denarius [DNR])
  • vanilla (Blake-256 8-rounds - double sha256 [VNL])
  • veltor (Veltor [VLT])
  • xevan x17 x 2 on bigger header (BitSend [BSD])
  • x11evo (Revolver [XRE])
  • x11 (Darkcoin [DRK], Hirocoin, Limecoin, ...)
  • x12 (GalaxyCash [GCH])
  • x13 (Sherlockcoin, [ACE], [B2B], [GRC], [XHC], ...)
  • x14 (X14, Webcoin [WEB])
  • x15 (RadianceCoin [RCE])
  • x16r (Ravencoin [RVN])
  • x16s (Pigeoncoin [PGN])
  • x17 (Verge [XVG])
  • yescrypt (GlobalBoostY [BSTY], Unitus [UIS], MyriadCoin [MYR])
  • zr5 (Ziftrcoin [ZRC])

Implemented, but untested

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

Planned support for

  • scrypt-jane (YaCoin, CopperBars, Pennies, Tickets, etc..)

Dependencies

Download

Build

Basic *nix build instructions:

  • just use ./build.sh OR
 ./autogen.sh	# only needed if building from git repo
 ./nomacro.pl	# only needed if building on Mac OS X or with Clang
 ./configure CFLAGS="*-march=native*" --with-crypto --with-curl
 # Use -march=native if building for a single machine
 make

Note for Debian/Ubuntu users:

 apt-get install automake autoconf pkg-config libcurl4-openssl-dev libjansson-dev libssl-dev libgmp-dev make g++

Note for pi64 users:

 ./configure --disable-assembly CFLAGS="-Ofast -march=native" --with-crypto --with-curl

Notes for AIX users:

  • To build a 64-bit binary, export OBJECT_MODE=64
  • GNU-style long options are not supported, but are accessible via configuration file

Basic Windows build with Visual Studio 2013

  • All the required .lib files are now included in tree (windows only)
  • AVX enabled by default for x64 platform (AVX2 and XOP could also be used)

Basic Windows build instructions, using MinGW64:

  • Install MinGW64 and the MSYS Developer Tool Kit (http://www.mingw.org/)
    • Make sure you have mstcpip.h in MinGW\include
  • install pthreads-w64
  • Install libcurl devel (http://curl.haxx.se/download.html)
    • Make sure you have libcurl.m4 in MinGW\share\aclocal
    • Make sure you have curl-config in MinGW\bin
  • Install openssl devel (https://www.openssl.org/related/binaries.html)
  • In the MSYS shell, run:
    • for 64bit, you can use ./mingw64.sh else : ./autogen.sh # only needed if building from git repo
    LIBCURL="-lcurldll" ./configure CFLAGS="*-march=native*"
    # Use -march=native if building for a single machine
    make
    

Architecture-specific notes:

  • ARM:
    • No runtime CPU detection. The miner can take advantage of some instructions specific to ARMv5E and later processors, but the decision whether to use them is made at compile time, based on compiler-defined macros.
    • To use NEON instructions, add "-mfpu=neon" to CFLAGS.
  • x86:
    • The miner checks for SSE2 instructions support at runtime, and uses them if they are available.
  • x86-64:
    • The miner can take advantage of AVX, AVX2 and XOP instructions, but only if both the CPU and the operating system support them.
      • Linux supports AVX starting from kernel version 2.6.30.
      • FreeBSD supports AVX starting with 9.1-RELEASE.
      • Mac OS X added AVX support in the 10.6.8 update.
      • Windows supports AVX starting from Windows 7 SP1 and Windows Server 2008 R2 SP1.
    • The configure script outputs a warning if the assembler doesn't support some instruction sets. In that case, the miner can still be built, but unavailable optimizations are left off.

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

Lucas Jones :

  • MRO: 472haywQKoxFzf7asaQ4XKBc2foAY4ezk8HiN63ifW4iAbJiLnfmJfhHSR9XmVKw2WYPnszJV9MEHj9Z5WMK9VCNHaGLDmJ
  • BTC: 139QWoktddChHsZMWZFxmBva4FM96X2dhE

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.