Permalink
Browse files

Initial commit

  • Loading branch information...
0 parents commit b089cc9fe1f5412007f4f1a4b470fb7123d3aaba @lucasjones lucasjones committed Apr 23, 2014
Showing with 48,758 additions and 0 deletions.
  1. +28 −0 .gitignore
  2. +9 −0 .travis.yml
  3. +5 −0 AUTHORS
  4. +340 −0 COPYING
  5. +1 −0 ChangeLog
  6. +25 −0 Dockerfile
  7. +3 −0 LICENSE
  8. +41 −0 Makefile.am
  9. +262 −0 NEWS
  10. +68 −0 README
  11. +12 −0 autogen.sh
  12. +21 −0 compat.h
  13. +7 −0 compat/Makefile.am
  14. +3 −0 compat/jansson/.gitignore
  15. +19 −0 compat/jansson/LICENSE
  16. +18 −0 compat/jansson/Makefile.am
  17. +73 −0 compat/jansson/config.h
  18. +460 −0 compat/jansson/dump.c
  19. +375 −0 compat/jansson/hashtable.c
  20. +207 −0 compat/jansson/hashtable.h
  21. +191 −0 compat/jansson/jansson.h
  22. +60 −0 compat/jansson/jansson_private.h
  23. +879 −0 compat/jansson/load.c
  24. +95 −0 compat/jansson/strbuffer.c
  25. +31 −0 compat/jansson/strbuffer.h
  26. +190 −0 compat/jansson/utf.c
  27. +28 −0 compat/jansson/utf.h
  28. +13 −0 compat/jansson/util.h
  29. +976 −0 compat/jansson/value.c
  30. +125 −0 configure.ac
  31. +1,516 −0 cpu-miner.c
  32. +251 −0 elist.h
  33. +13 −0 example-cfg.json
  34. +103 −0 heavy.c
  35. +52 −0 keccak.c
  36. +264 −0 miner.h
  37. +198 −0 minerd.1
  38. +47 −0 nomacro.pl
  39. +252 −0 quark.c
  40. +1,173 −0 scrypt-arm.S
  41. +2,879 −0 scrypt-x64.S
  42. +821 −0 scrypt-x86.S
  43. +758 −0 scrypt.c
  44. +132 −0 scryptjane/scrypt-jane-chacha.h
  45. +48 −0 scryptjane/scrypt-jane-hash.h
  46. +168 −0 scryptjane/scrypt-jane-hash_keccak.h
  47. +135 −0 scryptjane/scrypt-jane-hash_sha256.h
  48. +340 −0 scryptjane/scrypt-jane-mix_chacha-avx.h
  49. +371 −0 scryptjane/scrypt-jane-mix_chacha-sse2.h
  50. +348 −0 scryptjane/scrypt-jane-mix_chacha-ssse3.h
  51. +69 −0 scryptjane/scrypt-jane-mix_chacha.h
  52. +381 −0 scryptjane/scrypt-jane-mix_salsa-avx.h
  53. +443 −0 scryptjane/scrypt-jane-mix_salsa-sse2.h
  54. +70 −0 scryptjane/scrypt-jane-mix_salsa.h
  55. +112 −0 scryptjane/scrypt-jane-pbkdf2.h
  56. +364 −0 scryptjane/scrypt-jane-portable-x86.h
  57. +281 −0 scryptjane/scrypt-jane-portable.h
  58. +67 −0 scryptjane/scrypt-jane-romix-basic.h
  59. +118 −0 scryptjane/scrypt-jane-romix-template.h
  60. +27 −0 scryptjane/scrypt-jane-romix.h
  61. +106 −0 scryptjane/scrypt-jane-salsa.h
  62. +261 −0 scryptjane/scrypt-jane-test-vectors.h
  63. +1,583 −0 sha2-arm.S
  64. +3,661 −0 sha2-x64.S
  65. +1,193 −0 sha2-x86.S
  66. +630 −0 sha2.c
  67. +392 −0 sha3/aes_helper.c
  68. +1,114 −0 sha3/sph_blake.c
  69. +327 −0 sha3/sph_blake.h
  70. +965 −0 sha3/sph_bmw.c
  71. +328 −0 sha3/sph_bmw.h
  72. +723 −0 sha3/sph_cubehash.c
  73. +292 −0 sha3/sph_cubehash.h
  74. +1,031 −0 sha3/sph_echo.c
  75. +320 −0 sha3/sph_echo.h
  76. +1,208 −0 sha3/sph_fugue.c
  77. +81 −0 sha3/sph_fugue.h
  78. +3,119 −0 sha3/sph_groestl.c
  79. +329 −0 sha3/sph_groestl.h
  80. +378 −0 sha3/sph_hefty1.c
  81. +66 −0 sha3/sph_hefty1.h
  82. +1,116 −0 sha3/sph_jh.c
  83. +298 −0 sha3/sph_jh.h
  84. +1,824 −0 sha3/sph_keccak.c
  85. +293 −0 sha3/sph_keccak.h
  86. +1,426 −0 sha3/sph_luffa.c
  87. +296 −0 sha3/sph_luffa.h
  88. +1,764 −0 sha3/sph_shavite.c
  89. +314 −0 sha3/sph_shavite.h
  90. +1,799 −0 sha3/sph_simd.c
  91. +309 −0 sha3/sph_simd.h
  92. +1,254 −0 sha3/sph_skein.c
  93. +298 −0 sha3/sph_skein.h
  94. +1,976 −0 sha3/sph_types.h
  95. +1,318 −0 util.c
@@ -0,0 +1,28 @@
+
+minerd
+minerd.exe
+*.o
+
+autom4te.cache
+.deps
+
+Makefile
+Makefile.in
+INSTALL
+aclocal.m4
+configure
+configure.lineno
+depcomp
+missing
+install-sh
+stamp-h1
+cpuminer-config.h*
+compile
+config.log
+config.status
+config.status.lineno
+config.guess
+config.sub
+
+mingw32-config.cache
+
@@ -0,0 +1,9 @@
+language: c
+
+compiler:
+ - gcc
+
+before_script:
+ - ./autogen.sh
+ - ./configure
+ - make
@@ -0,0 +1,5 @@
+Jeff Garzik <jgarzik@pobox.com>
+
+ArtForz
+
+pooler <pooler@litecoinpool.org>
Oops, something went wrong.
@@ -0,0 +1 @@
+See git repository ('git log') for full changelog.
@@ -0,0 +1,25 @@
+#
+# Dockerfile for cpuminer
+# usage: docker run creack/cpuminer --url xxxx --user xxxx --pass xxxx
+# ex: docker run creack/cpuminer --url stratum+tcp://ltc.pool.com:80 --user creack.worker1 --pass abcdef
+#
+#
+
+FROM ubuntu:12.10
+MAINTAINER Guillaume J. Charmes <guillaume@charmes.net>
+
+RUN apt-get update -qq
+
+RUN apt-get install -qqy automake
+RUN apt-get install -qqy libcurl4-openssl-dev
+RUN apt-get install -qqy git
+RUN apt-get install -qqy make
+
+RUN git clone https://github.com/pooler/cpuminer
+
+RUN cd cpuminer && ./autogen.sh
+RUN cd cpuminer && ./configure CFLAGS="-O3"
+RUN cd cpuminer && make
+
+WORKDIR /cpuminer
+ENTRYPOINT ["./minerd"]
@@ -0,0 +1,3 @@
+cpuminer is available under the terms of the GNU Public License version 2.
+
+See COPYING for details.
@@ -0,0 +1,41 @@
+
+if WANT_JANSSON
+JANSSON_INCLUDES= -I$(top_srcdir)/compat/jansson
+else
+JANSSON_INCLUDES=
+endif
+
+EXTRA_DIST = example-cfg.json nomacro.pl
+
+SUBDIRS = compat
+
+INCLUDES = $(PTHREAD_FLAGS) -fno-strict-aliasing $(JANSSON_INCLUDES)
+
+bin_PROGRAMS = minerd
+
+dist_man_MANS = minerd.1
+
+minerd_SOURCES = elist.h miner.h compat.h \
+ cpu-miner.c util.c \
+ sha2.c scrypt.c keccak.c \
+ heavy.c quark.c \
+ sha3/sph_keccak.c \
+ sha3/sph_hefty1.c \
+ sha3/sph_groestl.c \
+ sha3/sph_skein.c \
+ sha3/sph_bmw.c \
+ sha3/sph_jh.c \
+ sha3/sph_blake.c
+if ARCH_x86
+minerd_SOURCES += sha2-x86.S scrypt-x86.S
+endif
+if ARCH_x86_64
+minerd_SOURCES += sha2-x64.S scrypt-x64.S
+endif
+if ARCH_ARM
+minerd_SOURCES += sha2-arm.S scrypt-arm.S
+endif
+minerd_LDFLAGS = $(PTHREAD_FLAGS)
+minerd_LDADD = @LIBCURL@ @JANSSON_LIBS@ @PTHREAD_LIBS@ @WS2_LIBS@ -lcrypto
+minerd_CPPFLAGS = @LIBCURL_CPPFLAGS@
+
262 NEWS
@@ -0,0 +1,262 @@
+Version 2.3.3 - Feb 27, 2014
+
+- The --url option is now mandatory
+- Do not switch to Stratum when using an HTTP proxy
+- Fix scheduling policy change on Linux (clbr)
+- Fix CPU affinity on FreeBSD (ache)
+- Compatibility fixes for various platforms, including Solaris 8
+ and old versions of OS X
+- A man page for minerd is now available
+
+Version 2.3.2 - Jul 10, 2013
+
+- Add optimizations for AVX2-capable x86-64 processors
+- Ensure that the output stream is flushed after every log message
+- Fix an undefined-behavior bug in the Stratum code
+
+Version 2.3.1 - Jun 18, 2013
+
+- Add a --cert option for specifying an SSL certificate (martinwguy)
+- Fix a bug that only made SHA-256d mining work at difficulty 1
+- Fix a couple of compatibility issues with some Stratum servers
+
+Version 2.3 - Jun 12, 2013
+
+- Add support for the Stratum mining protocol
+- Automatically switch to Stratum if the mining server supports
+ the X-Stratum extension, unless --no-stratum is used
+- Set CPU affinity on FreeBSD (lye)
+- Fix a bug in libcurl initialization (martinwguy)
+
+Version 2.2.3 - Aug 5, 2012
+
+- Add optimized ARM NEON code for scrypt and SHA-256d
+- Add a --benchmark option that allows offline testing
+- Support for the X-Reject-Reason extension
+
+Version 2.2.2 - Jun 7, 2012
+
+- Various performance improvements for x86 and x86-64
+- Optimize scrypt for ARMv5E and later processors
+- Set the priority of miner threads to idle on Windows
+- Add an option to start minerd as a daemon on POSIX systems
+
+Version 2.2.1 - May 2, 2012
+
+- Add optimized code for ARM processors
+- Support for building on NetBSD and OpenBSD
+- Various compatibility fixes for AIX (pontius)
+
+Version 2.2 - Apr 2, 2012
+
+- Add an optimized SHA-256d algorithm, with specialized code
+ for x86 and x86-64 and support for AVX and XOP instructions
+- Slight performance increase for scrypt on x86 and x86-64
+- The default timeout is now 270 seconds
+
+Version 2.1.5 - Mar 7, 2012
+
+- Add optimizations for AVX-capable x86-64 processors
+- Assume HTTP if no protocol is specified for the mining server
+- Fix MinGW compatibility issues and update build instructions
+- Add support for building on Solaris using gcc (pontius)
+
+Version 2.1.4 - Feb 28, 2012
+
+- Implement 4-way SHA-256 on x86-64
+- Add TCP keepalive to long polling connections
+- Support HTTP and SOCKS proxies via the --proxy option
+- Username and password are no longer mandatory
+- Add a script that makes assembly code compatible with old versions
+ of the GNU assembler that do not support macros
+
+Version 2.1.3 - Feb 12, 2012
+
+- Smart handling of long polling failures: switch to short scan time
+ if long polling fails, and only try to reactivate it if the server
+ continues to advertise the feature in HTTP headers
+- Add "X-Mining-Extensions: midstate" to HTTP headers (p2k)
+- Add support for the "submitold" extension, used by p2pool
+- It is now possible to specify username and password in the URL,
+ like this: http://username:password@host:port/
+- Add a --version option, and clean up --help output
+- Avoid division by zero when computing hash rates
+- Handle empty responses properly (TimothyA)
+- Eliminate the delay between starting threads
+
+Version 2.1.2 - Jan 26, 2012
+
+- Do not submit work that is known to be stale
+- Allow miner threads to ask for new work if the current one is at least
+ 45 seconds old and long polling is enabled
+- Refresh work when long polling times out
+- Fix minor speed regression
+- Modify x86-64 code to make it compatible with older versions of binutils
+
+Version 2.1.1 - Jan 20, 2012
+
+- Handle network errors properly
+- Make scantime retargeting more accurate
+
+Version 2.1 - Jan 19, 2012
+
+- Share the same work among all threads
+- Do not ask for new work if the current one is not expired
+- Do not discard the work returned by long polling
+
+Version 2.0 - Jan 16, 2012
+
+- Change default port to 9332 for Litecoin and remove default credentials
+- Add 'scrypt' as the default algorithm and remove other algorithms (ArtForz)
+- Optimize scrypt for x86 and x86-64
+- Make scantime retargeting less granular (ArtForz)
+- Test the whole hash instead of just looking at the high 32 bits
+- Add configurable timeout, with a default of 180 seconds
+- Add share summary output (inlikeflynn)
+- Fix priority and CPU count detection on Windows
+- Fix parameters -u and -p, and add short options -o and -O
+
+Version 1.0.2 - Jun 13, 2011
+
+- Linux x86_64 optimisations - Con Kolivas
+- Optimise for x86_64 by default by using sse2_64 algo
+- Detects CPUs and sets number of threads accordingly
+- Uses CPU affinity for each thread where appropriate
+- Sets scheduling policy to lowest possible
+- Minor performance tweaks
+
+Version 1.0.1 - May 14, 2011
+
+- OSX support
+
+Version 1.0 - May 9, 2011
+
+- jansson 2.0 compatibility
+- correct off-by-one in date (month) display output
+- fix platform detection
+- improve yasm configure bits
+- support full URL, in X-Long-Polling header
+
+Version 0.8.1 - March 22, 2011
+
+- Make --user, --pass actually work
+
+- Add User-Agent HTTP header to requests, so that server operators may
+ more easily identify the miner client.
+
+- Fix minor bug in example JSON config file
+
+Version 0.8 - March 21, 2011
+
+- Support long polling: http://deepbit.net/longpolling.php
+
+- Adjust max workload based on scantime (default 5 seconds,
+ or 60 seconds for longpoll)
+
+- Standardize program output, and support syslog on Unix platforms
+
+- Suport --user/--pass options (and "user" and "pass" in config file),
+ as an alternative to the current --userpass
+
+Version 0.7.2 - March 14, 2011
+
+- Add port of ufasoft's sse2 assembly implementation (Linux only)
+ This is a substantial speed improvement on Intel CPUs.
+
+- Move all JSON-RPC I/O to separate thread. This reduces the
+ number of HTTP connections from one-per-thread to one, reducing resource
+ usage on upstream bitcoind / pool server.
+
+Version 0.7.1 - March 2, 2011
+
+- Add support for JSON-format configuration file. See example
+ file example-cfg.json. Any long argument on the command line
+ may be stored in the config file.
+- Timestamp each solution found
+- Improve sha256_4way performance. NOTE: This optimization makes
+ the 'hash' debug-print output for sha256_way incorrect.
+- Use __builtin_expect() intrinsic as compiler micro-optimization
+- Build on Intel compiler
+- HTTP library now follows HTTP redirects
+
+Version 0.7 - February 12, 2011
+
+- Re-use CURL object, thereby reuseing DNS cache and HTTP connections
+- Use bswap_32, if compiler intrinsic is not available
+- Disable full target validation (as opposed to simply H==0) for now
+
+Version 0.6.1 - February 4, 2011
+
+- Fully validate "hash < target", rather than simply stopping our scan
+ if the high 32 bits are 00000000.
+- Add --retry-pause, to set length of pause time between failure retries
+- Display proof-of-work hash and target, if -D (debug mode) enabled
+- Fix max-nonce auto-adjustment to actually work. This means if your
+ scan takes longer than 5 seconds (--scantime), the miner will slowly
+ reduce the number of hashes you work on, before fetching a new work unit.
+
+Version 0.6 - January 29, 2011
+
+- Fetch new work unit, if scanhash takes longer than 5 seconds (--scantime)
+- BeeCee1's sha256 4way optimizations
+- lfm's byte swap optimization (improves via, cryptopp)
+- Fix non-working short options -q, -r
+
+Version 0.5 - December 28, 2010
+
+- Exit program, when all threads have exited
+- Improve JSON-RPC failure diagnostics and resilience
+- Add --quiet option, to disable hashmeter output.
+
+Version 0.3.3 - December 27, 2010
+
+- Critical fix for sha256_cryptopp 'cryptopp_asm' algo
+
+Version 0.3.2 - December 23, 2010
+
+- Critical fix for sha256_via
+
+Version 0.3.1 - December 19, 2010
+
+- Critical fix for sha256_via
+- Retry JSON-RPC failures (see --retry, under "minerd --help" output)
+
+Version 0.3 - December 18, 2010
+
+- Add crypto++ 32bit assembly implementation
+- show version upon 'minerd --help'
+- work around gcc 4.5.x bug that killed 4way performance
+
+Version 0.2.2 - December 6, 2010
+
+- VIA padlock implementation works now
+- Minor build and runtime fixes
+
+Version 0.2.1 - November 29, 2010
+
+- avoid buffer overflow when submitting solutions
+- add Crypto++ sha256 implementation (C only, ASM elided for now)
+- minor internal optimizations and cleanups
+
+Version 0.2 - November 27, 2010
+
+- Add script for building a Windows installer
+- improve hash performance (hashmeter) statistics
+- add tcatm 4way sha256 implementation
+- Add experimental VIA Padlock sha256 implementation
+
+Version 0.1.2 - November 26, 2010
+
+- many small cleanups and micro-optimizations
+- build win32 exe using mingw
+- RPC URL, username/password become command line arguments
+- remove unused OpenSSL dependency
+
+Version 0.1.1 - November 24, 2010
+
+- Do not build sha256_generic module separately from cpuminer.
+
+Version 0.1 - November 24, 2010
+
+- Initial release.
+
Oops, something went wrong.

0 comments on commit b089cc9

Please sign in to comment.