4 [](https://travis-ci.org/tpruvot/cpuminer-multi)
6 This is a multi-threaded CPU miner,
7 fork of [pooler](//github.com/pooler)'s cpuminer (see AUTHORS for list of contributors).
11 * [Algorithms](#algorithms)
12 * [Dependencies](#dependencies)
13 * [Download](#download)
15 * [Usage instructions](#usage-instructions)
16 * [Donations](#donations)
22 #### Currently supported
23 * ✓ __scrypt__ (Litecoin, Dogecoin, Feathercoin, etc..)
24 * ✓ __scrypt:N__ (Vertcoin [VTC])
25 * ✓ __sha256d__ (Bitcoin, Freicoin, Peercoin/PPCoin, Terracoin, etc..)
26 * ✓ __blake__ (Neos/Saffron Blake-256)
27 * ✓ __cryptonight__ (Bytecoin [BCN], Monero)
28 * ✓ __fresh__ (FreshCoin)
29 * ✓ __neoscrypt__ (Feathercoin)
31 * ✓ __pentablake__ (Joincoin)
34 * ✓ __x11__ (Darkcoin [DRK], Hirocoin, Limecoin)
35 * ✓ __x13__ (Sherlockcoin, [ACE], [B2B], [GRC], [XHC], etc..)
36 * ✓ __x14__ (X14, Webcoin [WEB])
37 * ✓ __x15__ (RadianceCoin [RCE])
39 #### Implemented, but untested
40 * ? keccak (Maxcoin HelixCoin, CryptoMeth, Galleon, 365coin, Slothcoin, BitcointalkCoin)
41 * ? hefty1 (Heavycoin)
43 * ? skein (Skeincoin, Myriadcoin)
44 * ? shavite3 (INKcoin)
46 #### Planned support for
47 * *scrypt-jane* (YaCoin, CopperBars, Pennies, Tickets, etc..)
48 * *qubit* (Qubitcoin, Myriadcoin)
49 * *groestl* (Groestlcoin)
53 * libcurl http://curl.haxx.se/libcurl/
54 * jansson http://www.digip.org/jansson/ (jansson is included in-tree)
55 * openssl https://www.openssl.org/
61 * Binary releases: https://github.com/LucasJones/cpuminer-multi/releases
62 * Windows releases: https://github.com/tpruvot/cpuminer-multi/releases
63 * Git tree: https://github.com/LucasJones/cpuminer-multi
64 * Clone with `git clone https://github.com/LucasJones/cpuminer-multi`
69 #### Basic *nix build instructions:
70 * ./autogen.sh # only needed if building from git repo
71 * ./nomacro.pl # only needed if building on Mac OS X or with Clang
72 * ./configure CFLAGS="*-march=native*"
73 * # Use -march=native if building for a single machine
76 #### Notes for AIX users:
77 * To build a 64-bit binary, export OBJECT_MODE=64
78 * GNU-style long options are not supported, but are accessible via configuration file
80 #### Basic Windows build with Visual Studio 2013
81 * All the required .lib files are now included in tree (windows only)
82 * AVX enabled by default for x64 platform (AVX2 and XOP could also be used)
84 #### Basic Windows build instructions, using MinGW:
85 * Install MinGW and the MSYS Developer Tool Kit (http://www.mingw.org/)
86 * Make sure you have mstcpip.h in MinGW\include
87 * If using MinGW-w64, install pthreads-w64
88 * Install libcurl devel (http://curl.haxx.se/download.html)
89 * Make sure you have libcurl.m4 in MinGW\share\aclocal
90 * Make sure you have curl-config in MinGW\bin
91 * Install openssl devel (https://www.openssl.org/related/binaries.html)
92 * In the MSYS shell, run:
93 * for 64bit, you can use ./mingw64.sh else :
94 ./autogen.sh # only needed if building from git repo
95 * LIBCURL="-lcurldll" ./configure CFLAGS="*-march=native*"
96 * # Use -march=native if building for a single machine
99 #### Architecture-specific notes:
101 * 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.
102 * To use NEON instructions, add "-mfpu=neon" to CFLAGS.
104 * The miner checks for SSE2 instructions support at runtime, and uses them if they are available.
106 * The miner can take advantage of AVX, AVX2 and XOP instructions, but only if both the CPU and the operating system support them.
107 * Linux supports AVX starting from kernel version 2.6.30.
108 * FreeBSD supports AVX starting with 9.1-RELEASE.
109 * Mac OS X added AVX support in the 10.6.8 update.
110 * Windows supports AVX starting from Windows 7 SP1 and Windows Server 2008 R2 SP1.
111 * 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.
115 Run "minerd --help" to see options.
117 ### Connecting through a proxy
119 Use the --proxy option.
121 To use a SOCKS proxy, add a socks4:// or socks5:// prefix to the proxy host
122 Protocols socks4a and socks5h, allowing remote name resolving, are also available since libcurl 7.18.0.
124 If no protocol is specified, the proxy is assumed to be a HTTP proxy.
125 When the --proxy option is not used, the program honors the http_proxy and all_proxy environment variables.
129 Donations for the work done in this fork are accepted :
132 * BTC: `1FhDPLPpw18X4srecguG3MxJYe4a1JsZnd`
133 * NEOS:`NaEcVrdzoCWHUYXb7X8QoafoKS9UV69Yk4`
136 * MRO: `472haywQKoxFzf7asaQ4XKBc2foAY4ezk8HiN63ifW4iAbJiLnfmJfhHSR9XmVKw2WYPnszJV9MEHj9Z5WMK9VCNHaGLDmJ`
137 * BTC: `139QWoktddChHsZMWZFxmBva4FM96X2dhE`
141 CPUMiner-multi was forked from pooler's CPUMiner, and has been developed by Lucas Jones.
142 * [tpruvot](https://github.com/tpruvot) added some features and recent SHA3 based algorythmns
143 * [Wolf9466](https://github.com/wolf9466) helped with Intel AES-NI support for CryptoNight
147 GPLv2. See COPYING for details.