]>
Commit | Line | Data |
---|---|---|
6dc12f7e | 1 | CPUMiner-Multi |
d8505482 LJ |
2 | ============== |
3 | ||
322e5b63 | 4 | [](https://travis-ci.org/tpruvot/cpuminer-multi) |
d8505482 | 5 | |
c1ae82fb | 6 | This is a multi-threaded CPU miner, |
c5c01d8f | 7 | fork of [pooler](//github.com/pooler)'s cpuminer (see AUTHORS for list of contributors). |
b089cc9f | 8 | |
c4eff723 LJ |
9 | #### Table of contents |
10 | ||
11 | * [Algorithms](#algorithms) | |
12 | * [Dependencies](#dependencies) | |
13 | * [Download](#download) | |
14 | * [Build](#build) | |
15 | * [Usage instructions](#usage-instructions) | |
16 | * [Donations](#donations) | |
17 | * [Credits](#credits) | |
18 | * [License](#license) | |
19 | ||
c1ae82fb LJ |
20 | Algorithms |
21 | ========== | |
22 | #### Currently supported | |
f5b2e506 | 23 | * ✓ __scrypt__ (Litecoin, Dogecoin, Feathercoin, ...) |
e7670e80 | 24 | * ✓ __scrypt:N__ |
86310939 | 25 | * ✓ __scrypt-jane:N__ |
f5b2e506 | 26 | * ✓ __sha256d__ (Bitcoin, Freicoin, Peercoin/PPCoin, Terracoin, ...) |
6a51875e | 27 | * ✓ __allium__ (Garlicoin, Tuxcoin) |
36cf7afa | 28 | * ✓ __axiom__ (Axiom Shabal-256 based MemoHash) |
86310939 | 29 | * ✓ __bastion__ (Joincoin [J]) |
052fd5ba | 30 | * ✓ __bitcore__ Permuted serie of 10 algos (BitCore) |
ba2fbc77 | 31 | * ✓ __blake__ (Saffron [SFR] Blake-256) |
b693a9a2 | 32 | * ✓ __blake2s__ (NevaCoin Blake2-S 256) |
6a51875e | 33 | * ✓ __blake2b__ (Not SIA one) |
c08d1035 | 34 | * ✓ __bmw__ (Midnight [MDT] BMW-256) |
f64d3702 | 35 | * ✓ __cryptonight__ (Bytecoin [BCN], Monero [XMR]) |
8e320888 | 36 | * ✓ __cryptonight-light__ (Aeon) |
10016762 | 37 | * ✓ __decred__ (Blake256-14 [DCR]) |
ba2fbc77 | 38 | * ✓ __dmd-gr__ (Diamond-Groestl) |
9f3083cd | 39 | * ✓ __fresh__ (FreshCoin) |
ba2fbc77 | 40 | * ✓ __groestl__ (Groestlcoin) |
4123f4c1 | 41 | * ✓ __jha__ (JackpotCoin, SweepStake) |
f9345a59 | 42 | * ✓ __lbry__ (LBRY Credits [LBC]) |
f64d3702 | 43 | * ✓ __lyra2RE__ (Cryptocoin) |
6a51875e TP |
44 | * ✓ __lyra2REv2__ |
45 | * ✓ __lyra2REv3__ (VertCoin [VTC]) | |
f64d3702 | 46 | * ✓ __myr-gr__ Myriad-Groestl (MyriadCoin [MYR]) |
9f3083cd | 47 | * ✓ __neoscrypt__ (Feathercoin) |
f5b2e506 | 48 | * ✓ __nist5__ (MistCoin [MIC], TalkCoin [TAC], ...) |
9f3083cd | 49 | * ✓ __pentablake__ (Joincoin) |
6dc12f7e | 50 | * ✓ __pluck__ (Supcoin [SUP]) |
a7deef24 | 51 | * ✓ __quark__ (Quarkcoin) |
f64d3702 | 52 | * ✓ __qubit__ (GeoCoin) |
2fb53659 | 53 | * ✓ __skein__ (Skeincoin, Myriadcoin, Xedoscoin, ...) |
6dc12f7e | 54 | * ✓ __skein2__ (Woodcoin) |
98a5c874 | 55 | * ✓ __s3__ (OneCoin) |
2c4214ad | 56 | * ✓ __sia__ (Reversed Blake2B for SIA [SC]) |
f64d3702 | 57 | * ✓ __sib__ X11 + gost streebog (SibCoin) |
9fff60e7 | 58 | * ✓ __timetravel__ Permuted serie of 8 algos (MachineCoin [MAC]) |
7495361e | 59 | * ✓ __tribus__ 3 of the top NIST5 algos (Denarius [DNR]) |
2712075e | 60 | * ✓ __vanilla__ (Blake-256 8-rounds - double sha256 [VNL]) |
f64d3702 | 61 | * ✓ __veltor__ (Veltor [VLT]) |
052fd5ba | 62 | * ✓ __xevan__ x17 x 2 on bigger header (BitSend [BSD]) |
22dd788c | 63 | * ✓ __x11evo__ (Revolver [XRE]) |
f5b2e506 | 64 | * ✓ __x11__ (Darkcoin [DRK], Hirocoin, Limecoin, ...) |
c3d77729 | 65 | * ✓ __x12__ (GalaxyCash [GCH]) |
f5b2e506 | 66 | * ✓ __x13__ (Sherlockcoin, [ACE], [B2B], [GRC], [XHC], ...) |
8eb0a06c | 67 | * ✓ __x14__ (X14, Webcoin [WEB]) |
4b5c6daf | 68 | * ✓ __x15__ (RadianceCoin [RCE]) |
4073fd4a | 69 | * ✓ __x16r__ (Ravencoin [RVN]) |
971469b8 | 70 | * ✓ __x16s__ (Pigeoncoin [PGN]) |
10016762 | 71 | * ✓ __x17__ (Verge [XVG]) |
6a51875e | 72 | * ✓ __x20r__ |
f64d3702 | 73 | * ✓ __yescrypt__ (GlobalBoostY [BSTY], Unitus [UIS], MyriadCoin [MYR]) |
6dc12f7e | 74 | * ✓ __zr5__ (Ziftrcoin [ZRC]) |
f3fada3c | 75 | |
ef228fba | 76 | #### Implemented, but untested |
f3fada3c | 77 | * ? hefty1 (Heavycoin) |
2fb53659 | 78 | * ? keccak (Maxcoin HelixCoin, CryptoMeth, Galleon, 365coin, Slothcoin, BitcointalkCoin) |
0e432988 | 79 | * ? keccakc (Creativecoin) |
2fb53659 | 80 | * ? luffa (Joincoin, Doomcoin) |
6a51875e | 81 | * ? rainforest |
f3fada3c | 82 | * ? shavite3 (INKcoin) |
9f2325fc | 83 | |
c1ae82fb | 84 | #### Planned support for |
c1ae82fb | 85 | * *scrypt-jane* (YaCoin, CopperBars, Pennies, Tickets, etc..) |
ba2fbc77 | 86 | |
c1ae82fb LJ |
87 | Dependencies |
88 | ============ | |
bd6e439f TP |
89 | * libcurl http://curl.haxx.se/libcurl/ |
90 | * jansson http://www.digip.org/jansson/ (jansson source is included in-tree) | |
91 | * openssl libcrypto https://www.openssl.org/ | |
92 | * pthreads | |
93 | * zlib (for curl/ssl) | |
b089cc9f | 94 | |
c1ae82fb LJ |
95 | Download |
96 | ======== | |
bd6e439f TP |
97 | * Windows releases: https://github.com/tpruvot/cpuminer-multi/releases |
98 | * Git tree: https://github.com/tpruvot/cpuminer-multi | |
99 | * Clone with `git clone https://github.com/tpruvot/cpuminer-multi` | |
c1ae82fb LJ |
100 | |
101 | Build | |
102 | ===== | |
103 | ||
33a4f224 | 104 | #### Basic *nix build instructions: |
3477cb1e | 105 | * just use `./build.sh` |
bd6e439f | 106 | _OR_ |
3477cb1e FC |
107 | |
108 | ``` | |
109 | ./autogen.sh # only needed if building from git repo | |
110 | ./nomacro.pl # only needed if building on Mac OS X or with Clang | |
111 | ./configure CFLAGS="*-march=native*" --with-crypto --with-curl | |
112 | # Use -march=native if building for a single machine | |
113 | make | |
114 | ``` | |
33a4f224 | 115 | |
86310939 | 116 | #### Note for Debian/Ubuntu users: |
3477cb1e FC |
117 | |
118 | ``` | |
119 | apt-get install automake autoconf pkg-config libcurl4-openssl-dev libjansson-dev libssl-dev libgmp-dev make g++ | |
120 | ``` | |
86310939 | 121 | |
af7bef86 | 122 | #### Note for pi64 users: |
29d94e8d A |
123 | |
124 | ``` | |
125 | ./configure --disable-assembly CFLAGS="-Ofast -march=native" --with-crypto --with-curl | |
126 | ``` | |
127 | ||
33a4f224 LJ |
128 | #### Notes for AIX users: |
129 | * To build a 64-bit binary, export OBJECT_MODE=64 | |
130 | * GNU-style long options are not supported, but are accessible via configuration file | |
131 | ||
3967e063 | 132 | #### Basic Windows build with Visual Studio 2013 |
133 | * All the required .lib files are now included in tree (windows only) | |
756db9e3 | 134 | * AVX enabled by default for x64 platform (AVX2 and XOP could also be used) |
3967e063 | 135 | |
bd6e439f TP |
136 | #### Basic Windows build instructions, using MinGW64: |
137 | * Install MinGW64 and the MSYS Developer Tool Kit (http://www.mingw.org/) | |
33a4f224 | 138 | * Make sure you have mstcpip.h in MinGW\include |
bd6e439f | 139 | * install pthreads-w64 |
33a4f224 LJ |
140 | * Install libcurl devel (http://curl.haxx.se/download.html) |
141 | * Make sure you have libcurl.m4 in MinGW\share\aclocal | |
142 | * Make sure you have curl-config in MinGW\bin | |
fcb039bd | 143 | * Install openssl devel (https://www.openssl.org/related/binaries.html) |
33a4f224 | 144 | * In the MSYS shell, run: |
3477cb1e FC |
145 | * for 64bit, you can use `./mingw64.sh` else : |
146 | `./autogen.sh # only needed if building from git repo` | |
147 | ``` | |
148 | LIBCURL="-lcurldll" ./configure CFLAGS="*-march=native*" | |
149 | # Use -march=native if building for a single machine | |
150 | make | |
151 | ``` | |
33a4f224 LJ |
152 | |
153 | #### Architecture-specific notes: | |
154 | * ARM: | |
155 | * 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. | |
3477cb1e | 156 | * To use NEON instructions, add `"-mfpu=neon"` to CFLAGS. |
33a4f224 LJ |
157 | * x86: |
158 | * The miner checks for SSE2 instructions support at runtime, and uses them if they are available. | |
159 | * x86-64: | |
160 | * The miner can take advantage of AVX, AVX2 and XOP instructions, but only if both the CPU and the operating system support them. | |
161 | * Linux supports AVX starting from kernel version 2.6.30. | |
162 | * FreeBSD supports AVX starting with 9.1-RELEASE. | |
163 | * Mac OS X added AVX support in the 10.6.8 update. | |
164 | * Windows supports AVX starting from Windows 7 SP1 and Windows Server 2008 R2 SP1. | |
165 | * 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. | |
b089cc9f | 166 | |
c1ae82fb LJ |
167 | Usage instructions |
168 | ================== | |
e7670e80 | 169 | Run "cpuminer --help" to see options. |
b089cc9f | 170 | |
33a4f224 LJ |
171 | ### Connecting through a proxy |
172 | ||
173 | Use the --proxy option. | |
174 | ||
175 | To use a SOCKS proxy, add a socks4:// or socks5:// prefix to the proxy host | |
176 | Protocols socks4a and socks5h, allowing remote name resolving, are also available since libcurl 7.18.0. | |
177 | ||
178 | If no protocol is specified, the proxy is assumed to be a HTTP proxy. | |
179 | When the --proxy option is not used, the program honors the http_proxy and all_proxy environment variables. | |
c4eff723 LJ |
180 | |
181 | Donations | |
182 | ========= | |
15f243e7 TP |
183 | Donations for the work done in this fork are accepted : |
184 | ||
588f5d90 TP |
185 | Tanguy Pruvot : |
186 | * BTC: `1FhDPLPpw18X4srecguG3MxJYe4a1JsZnd` | |
15f243e7 TP |
187 | |
188 | Lucas Jones : | |
c4eff723 LJ |
189 | * MRO: `472haywQKoxFzf7asaQ4XKBc2foAY4ezk8HiN63ifW4iAbJiLnfmJfhHSR9XmVKw2WYPnszJV9MEHj9Z5WMK9VCNHaGLDmJ` |
190 | * BTC: `139QWoktddChHsZMWZFxmBva4FM96X2dhE` | |
191 | ||
192 | Credits | |
193 | ======= | |
826bf04d TP |
194 | CPUMiner-multi was forked from pooler's CPUMiner, and has been started by Lucas Jones. |
195 | * [tpruvot](https://github.com/tpruvot) added all the recent features and newer algorythmns | |
4b5c6daf | 196 | * [Wolf9466](https://github.com/wolf9466) helped with Intel AES-NI support for CryptoNight |
c4eff723 LJ |
197 | |
198 | License | |
199 | ======= | |
200 | GPLv2. See COPYING for details. |