Skip to content

CPU miner for Scrypt-Chacha based coins

License

Unknown, GPL-2.0 licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING
Notifications You must be signed in to change notification settings

MasterCATZ/cpuminer

 
 

Repository files navigation

This is a multi-threaded CPU miner for Litecoin and Bitcoin,
fork of Jeff Garzik's reference cpuminer.

License: GPLv2.  See COPYING for details.

Downloads:  https://sourceforge.net/projects/cpuminer/files/
Git tree:   https://github.com/pooler/cpuminer

Dependencies:
	libcurl			http://curl.haxx.se/libcurl/
		(ubuntu package - libcurl4-openssl-dev)
	automake
	autoconf
	pkg-cnfig
	jansson			http://www.digip.org/jansson/
		(jansson is included in-tree)

Basic *nix build instructions:
	./autogen.sh	# only needed if building from git repo
	./nomacro.pl	# only needed if building on Mac OS X or with Clang
	./configure CFLAGS="-O3"
	make

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

Detailed Windows build instructions, using MinGW (32-bit):
	Install MinGW and the MSYS Developer Tool Kit (http://www.mingw.org/)
		* Choose C, C++ and MSys on install as select to have it update its libraries
		* Install into C:\MinGW
	Include mstcpip.h from WINE in your MinGW library
		* http://source.winehq.org/source/include/mstcpip.h
		* select version 1.3.34
		* copy this code into C:\MinGW\Include\mstcpip.h (strip out the line numbers!)
	Install libcurl devel (http://curl.haxx.se/download.html)
		* download curl-7.30.0.tar.gz from http://curl.haxx.se/download.html and put it in C:\deps\
		* launch an MSYS shell and enter the following commands (the configure step will take a long time!)
			cd /c/deps
			tar -xvzf curl-7.30.0.tar.gz
			cd curl-7.30.0
			./configure -prefix=/c/mingw
			make
			make install
		* copy c:\deps\curl-7.30.0\docs\libcurl\libcurl.m4 c:\mingw\share\aclocal
		* copy c:\deps\curl-7.30.0\curl-config c:\mingw\bin
	In the MSYS shell, navigate to the CPUminer source code direcctory
		* You will likely get higher hashrates by forcing the compiler to build the executable for your 
		  specific CPU architecture.  This is done by adding "-march=<value>" into the CFLAGS.  Those
		  values can be found at http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html
		  	common choices for intel are : core2, corei7, corei7-avx
		  	common choices for AMD are : athlon-fx
		* Execute the following (replacing the value of -march with the value for your CPU type)
			./autogen.sh
			./configure CFLAGS="-march=core2 -O3"
			make
			strip minerd.exe
	Combine the executables with the dependencies
		* copy minerd.exe, C:\MinGW\bin\libcurl-4.dll, and C:\MinGW\bin\pthreadGC2.dll to the same directory

Detailed Windows build instructions, using MinGW (64-bit):
	Install MinGW and the MSYS Developer Tool Kit (http://www.mingw.org/)
		* Choose C, C++ and MSys on install and select to have it update its libraries
		* Install into C:\MinGW
		* Add C:\MinGW\bin and c:\MinGW\msys\1.0 to your path
	Download MinGW64 from http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Automated%20Builds/
		* Choose mingw-w64-bin_i686-mingw_20111220.zip
		* Extract ZIP to C:\MinGW64
		* Add C:\MinGW64\bin to your path before C:\MinGW\bin
	Install libcurl devel (http://curl.haxx.se/download.html)
		* download curl-7.30.0.tar.gz from http://curl.haxx.se/download.html and put it in C:\deps\
		* launch an MSYS shell and enter the following commands (the configure step will take a long time!)
			cd /c/deps
			tar -xvzf curl-7.30.0.tar.gz
			cd curl-7.30.0
			./configure --host=x86_64-w64-mingw32 -prefix=/c/mingw64
			make
			make install
			cp /c/deps/curl-7.30.0/docs/libcurl/libcurl.m4 /c/mingw/share/aclocal/libcurl.m4
	Install pthreads
		* download pthreads-20100604.zip from http://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/pthreads/ and put it in C:\deps\
		* unzip the file to c:\deps\
		* In the mingw64 subdirectory is pthreads-w64.zip - extract the contents to C:\MinGW64
	In the MSYS shell, navigate to the CPUminer source code direcctory
		* You will likely get higher hashrates by forcing the compiler to build the executable for your 
		  specific CPU architecture.  This is done by adding "-march=<value>" into the CFLAGS.  Those
		  values can be found at http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html
		  	common choices for intel are : core2, corei7, corei7-avx
		  	common choices for AMD are : athlon-fx
		* Execute the following (replacing the value of -march with the value for your CPU type)
			./autogen.sh
			./configure --host=x86_64-w64-mingw32 CFLAGS="-O3 -march=core2 -DCPU_X86_FORCE_INTRINSICS"
			make
	Strip minerd.exe
		* In a command prompt, in the compilation directory, execute the following
			x86_64-w64-mingw32-strip minerd.exe
	Combine the executables with the dependencies
		* copy minerd.exe, C:\MinGW64\bin\libcurl-4.dll, and C:\MinGW64\bin\pthreadGC2-w64.dll to the same directory

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 "minerd --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.

Also many issues and FAQs are covered in the forum thread
dedicated to this program,
	https://bitcointalk.org/index.php?topic=55038.0

About

CPU miner for Scrypt-Chacha based coins

Resources

License

Unknown, GPL-2.0 licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING

Stars

Watchers

Forks

Packages

No packages published