Skip to content

Commit ad8c484

Browse files
committed
First Commit
0 parents  commit ad8c484

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+84957
-0
lines changed

AUTHORS

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Jeff Garzik <[email protected]>
2+
3+
ArtForz
4+
5+

COPYING

+340
Large diffs are not rendered by default.

ChangeLog

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
See git repository ('git log') for full changelog.

Dockerfile

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#
2+
# Dockerfile for cpuminer
3+
# usage: docker run creack/cpuminer --url xxxx --user xxxx --pass xxxx
4+
# ex: docker run creack/cpuminer --url stratum+tcp://ltc.pool.com:80 --user creack.worker1 --pass abcdef
5+
#
6+
#
7+
8+
FROM ubuntu:12.10
9+
MAINTAINER Guillaume J. Charmes <[email protected]>
10+
11+
RUN apt-get update -qq
12+
13+
RUN apt-get install -qqy automake
14+
RUN apt-get install -qqy libcurl4-openssl-dev
15+
RUN apt-get install -qqy git
16+
RUN apt-get install -qqy make
17+
18+
RUN git clone https://github.com/pooler/cpuminer
19+
20+
RUN cd cpuminer && ./autogen.sh
21+
RUN cd cpuminer && ./configure CFLAGS="-O3"
22+
RUN cd cpuminer && make
23+
24+
WORKDIR /cpuminer
25+
ENTRYPOINT ["./minerd"]

LICENSE

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
cpuminer is available under the terms of the GNU Public License version 2.
2+
3+
See COPYING for details.

Makefile.am

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
2+
if WANT_JANSSON
3+
JANSSON_INCLUDES= -I$(top_srcdir)/compat/jansson
4+
else
5+
JANSSON_INCLUDES=
6+
endif
7+
8+
EXTRA_DIST = example-cfg.json nomacro.pl
9+
10+
SUBDIRS = compat
11+
12+
INCLUDES = $(PTHREAD_FLAGS) -fno-strict-aliasing $(JANSSON_INCLUDES)
13+
14+
bin_PROGRAMS = minerd
15+
16+
dist_man_MANS = minerd.1
17+
18+
minerd_SOURCES = elist.h miner.h compat.h \
19+
cpu-miner.c util.c \
20+
sha2.c scrypt.c \
21+
x13.c blake.c bmw.c cubehash.c echo.c fugue.c groestl.c hamsi.c jh.c keccak.c luffa.c shavite.c simd.c skein.c
22+
if ARCH_x86
23+
minerd_SOURCES += sha2-x86.S scrypt-x86.S
24+
endif
25+
if ARCH_x86_64
26+
minerd_SOURCES += sha2-x64.S scrypt-x64.S
27+
endif
28+
if ARCH_ARM
29+
minerd_SOURCES += sha2-arm.S scrypt-arm.S
30+
endif
31+
minerd_LDFLAGS = $(PTHREAD_FLAGS)
32+
minerd_LDADD = @LIBCURL@ @JANSSON_LIBS@ @PTHREAD_LIBS@ @WS2_LIBS@
33+
minerd_CPPFLAGS = @LIBCURL_CPPFLAGS@
34+

NEWS

+262
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,262 @@
1+
Version 2.3.3 - Feb 27, 2014
2+
3+
- The --url option is now mandatory
4+
- Do not switch to Stratum when using an HTTP proxy
5+
- Fix scheduling policy change on Linux (clbr)
6+
- Fix CPU affinity on FreeBSD (ache)
7+
- Compatibility fixes for various platforms, including Solaris 8
8+
and old versions of OS X
9+
- A man page for minerd is now available
10+
11+
Version 2.3.2 - Jul 10, 2013
12+
13+
- Add optimizations for AVX2-capable x86-64 processors
14+
- Ensure that the output stream is flushed after every log message
15+
- Fix an undefined-behavior bug in the Stratum code
16+
17+
Version 2.3.1 - Jun 18, 2013
18+
19+
- Add a --cert option for specifying an SSL certificate (martinwguy)
20+
- Fix a bug that only made SHA-256d mining work at difficulty 1
21+
- Fix a couple of compatibility issues with some Stratum servers
22+
23+
Version 2.3 - Jun 12, 2013
24+
25+
- Add support for the Stratum mining protocol
26+
- Automatically switch to Stratum if the mining server supports
27+
the X-Stratum extension, unless --no-stratum is used
28+
- Set CPU affinity on FreeBSD (lye)
29+
- Fix a bug in libcurl initialization (martinwguy)
30+
31+
Version 2.2.3 - Aug 5, 2012
32+
33+
- Add optimized ARM NEON code for scrypt and SHA-256d
34+
- Add a --benchmark option that allows offline testing
35+
- Support for the X-Reject-Reason extension
36+
37+
Version 2.2.2 - Jun 7, 2012
38+
39+
- Various performance improvements for x86 and x86-64
40+
- Optimize scrypt for ARMv5E and later processors
41+
- Set the priority of miner threads to idle on Windows
42+
- Add an option to start minerd as a daemon on POSIX systems
43+
44+
Version 2.2.1 - May 2, 2012
45+
46+
- Add optimized code for ARM processors
47+
- Support for building on NetBSD and OpenBSD
48+
- Various compatibility fixes for AIX (pontius)
49+
50+
Version 2.2 - Apr 2, 2012
51+
52+
- Add an optimized SHA-256d algorithm, with specialized code
53+
for x86 and x86-64 and support for AVX and XOP instructions
54+
- Slight performance increase for scrypt on x86 and x86-64
55+
- The default timeout is now 270 seconds
56+
57+
Version 2.1.5 - Mar 7, 2012
58+
59+
- Add optimizations for AVX-capable x86-64 processors
60+
- Assume HTTP if no protocol is specified for the mining server
61+
- Fix MinGW compatibility issues and update build instructions
62+
- Add support for building on Solaris using gcc (pontius)
63+
64+
Version 2.1.4 - Feb 28, 2012
65+
66+
- Implement 4-way SHA-256 on x86-64
67+
- Add TCP keepalive to long polling connections
68+
- Support HTTP and SOCKS proxies via the --proxy option
69+
- Username and password are no longer mandatory
70+
- Add a script that makes assembly code compatible with old versions
71+
of the GNU assembler that do not support macros
72+
73+
Version 2.1.3 - Feb 12, 2012
74+
75+
- Smart handling of long polling failures: switch to short scan time
76+
if long polling fails, and only try to reactivate it if the server
77+
continues to advertise the feature in HTTP headers
78+
- Add "X-Mining-Extensions: midstate" to HTTP headers (p2k)
79+
- Add support for the "submitold" extension, used by p2pool
80+
- It is now possible to specify username and password in the URL,
81+
like this: http://username:password@host:port/
82+
- Add a --version option, and clean up --help output
83+
- Avoid division by zero when computing hash rates
84+
- Handle empty responses properly (TimothyA)
85+
- Eliminate the delay between starting threads
86+
87+
Version 2.1.2 - Jan 26, 2012
88+
89+
- Do not submit work that is known to be stale
90+
- Allow miner threads to ask for new work if the current one is at least
91+
45 seconds old and long polling is enabled
92+
- Refresh work when long polling times out
93+
- Fix minor speed regression
94+
- Modify x86-64 code to make it compatible with older versions of binutils
95+
96+
Version 2.1.1 - Jan 20, 2012
97+
98+
- Handle network errors properly
99+
- Make scantime retargeting more accurate
100+
101+
Version 2.1 - Jan 19, 2012
102+
103+
- Share the same work among all threads
104+
- Do not ask for new work if the current one is not expired
105+
- Do not discard the work returned by long polling
106+
107+
Version 2.0 - Jan 16, 2012
108+
109+
- Change default port to 9332 for Litecoin and remove default credentials
110+
- Add 'scrypt' as the default algorithm and remove other algorithms (ArtForz)
111+
- Optimize scrypt for x86 and x86-64
112+
- Make scantime retargeting less granular (ArtForz)
113+
- Test the whole hash instead of just looking at the high 32 bits
114+
- Add configurable timeout, with a default of 180 seconds
115+
- Add share summary output (inlikeflynn)
116+
- Fix priority and CPU count detection on Windows
117+
- Fix parameters -u and -p, and add short options -o and -O
118+
119+
Version 1.0.2 - Jun 13, 2011
120+
121+
- Linux x86_64 optimisations - Con Kolivas
122+
- Optimise for x86_64 by default by using sse2_64 algo
123+
- Detects CPUs and sets number of threads accordingly
124+
- Uses CPU affinity for each thread where appropriate
125+
- Sets scheduling policy to lowest possible
126+
- Minor performance tweaks
127+
128+
Version 1.0.1 - May 14, 2011
129+
130+
- OSX support
131+
132+
Version 1.0 - May 9, 2011
133+
134+
- jansson 2.0 compatibility
135+
- correct off-by-one in date (month) display output
136+
- fix platform detection
137+
- improve yasm configure bits
138+
- support full URL, in X-Long-Polling header
139+
140+
Version 0.8.1 - March 22, 2011
141+
142+
- Make --user, --pass actually work
143+
144+
- Add User-Agent HTTP header to requests, so that server operators may
145+
more easily identify the miner client.
146+
147+
- Fix minor bug in example JSON config file
148+
149+
Version 0.8 - March 21, 2011
150+
151+
- Support long polling: http://deepbit.net/longpolling.php
152+
153+
- Adjust max workload based on scantime (default 5 seconds,
154+
or 60 seconds for longpoll)
155+
156+
- Standardize program output, and support syslog on Unix platforms
157+
158+
- Suport --user/--pass options (and "user" and "pass" in config file),
159+
as an alternative to the current --userpass
160+
161+
Version 0.7.2 - March 14, 2011
162+
163+
- Add port of ufasoft's sse2 assembly implementation (Linux only)
164+
This is a substantial speed improvement on Intel CPUs.
165+
166+
- Move all JSON-RPC I/O to separate thread. This reduces the
167+
number of HTTP connections from one-per-thread to one, reducing resource
168+
usage on upstream bitcoind / pool server.
169+
170+
Version 0.7.1 - March 2, 2011
171+
172+
- Add support for JSON-format configuration file. See example
173+
file example-cfg.json. Any long argument on the command line
174+
may be stored in the config file.
175+
- Timestamp each solution found
176+
- Improve sha256_4way performance. NOTE: This optimization makes
177+
the 'hash' debug-print output for sha256_way incorrect.
178+
- Use __builtin_expect() intrinsic as compiler micro-optimization
179+
- Build on Intel compiler
180+
- HTTP library now follows HTTP redirects
181+
182+
Version 0.7 - February 12, 2011
183+
184+
- Re-use CURL object, thereby reuseing DNS cache and HTTP connections
185+
- Use bswap_32, if compiler intrinsic is not available
186+
- Disable full target validation (as opposed to simply H==0) for now
187+
188+
Version 0.6.1 - February 4, 2011
189+
190+
- Fully validate "hash < target", rather than simply stopping our scan
191+
if the high 32 bits are 00000000.
192+
- Add --retry-pause, to set length of pause time between failure retries
193+
- Display proof-of-work hash and target, if -D (debug mode) enabled
194+
- Fix max-nonce auto-adjustment to actually work. This means if your
195+
scan takes longer than 5 seconds (--scantime), the miner will slowly
196+
reduce the number of hashes you work on, before fetching a new work unit.
197+
198+
Version 0.6 - January 29, 2011
199+
200+
- Fetch new work unit, if scanhash takes longer than 5 seconds (--scantime)
201+
- BeeCee1's sha256 4way optimizations
202+
- lfm's byte swap optimization (improves via, cryptopp)
203+
- Fix non-working short options -q, -r
204+
205+
Version 0.5 - December 28, 2010
206+
207+
- Exit program, when all threads have exited
208+
- Improve JSON-RPC failure diagnostics and resilience
209+
- Add --quiet option, to disable hashmeter output.
210+
211+
Version 0.3.3 - December 27, 2010
212+
213+
- Critical fix for sha256_cryptopp 'cryptopp_asm' algo
214+
215+
Version 0.3.2 - December 23, 2010
216+
217+
- Critical fix for sha256_via
218+
219+
Version 0.3.1 - December 19, 2010
220+
221+
- Critical fix for sha256_via
222+
- Retry JSON-RPC failures (see --retry, under "minerd --help" output)
223+
224+
Version 0.3 - December 18, 2010
225+
226+
- Add crypto++ 32bit assembly implementation
227+
- show version upon 'minerd --help'
228+
- work around gcc 4.5.x bug that killed 4way performance
229+
230+
Version 0.2.2 - December 6, 2010
231+
232+
- VIA padlock implementation works now
233+
- Minor build and runtime fixes
234+
235+
Version 0.2.1 - November 29, 2010
236+
237+
- avoid buffer overflow when submitting solutions
238+
- add Crypto++ sha256 implementation (C only, ASM elided for now)
239+
- minor internal optimizations and cleanups
240+
241+
Version 0.2 - November 27, 2010
242+
243+
- Add script for building a Windows installer
244+
- improve hash performance (hashmeter) statistics
245+
- add tcatm 4way sha256 implementation
246+
- Add experimental VIA Padlock sha256 implementation
247+
248+
Version 0.1.2 - November 26, 2010
249+
250+
- many small cleanups and micro-optimizations
251+
- build win32 exe using mingw
252+
- RPC URL, username/password become command line arguments
253+
- remove unused OpenSSL dependency
254+
255+
Version 0.1.1 - November 24, 2010
256+
257+
- Do not build sha256_generic module separately from cpuminer.
258+
259+
Version 0.1 - November 24, 2010
260+
261+
- Initial release.
262+

0 commit comments

Comments
 (0)