Skip to content

Commit

Permalink
Readme needed some love, now it's up to date.
Browse files Browse the repository at this point in the history
  • Loading branch information
hmage committed Apr 15, 2016
1 parent c869830 commit 74a153a
Showing 1 changed file with 47 additions and 137 deletions.
184 changes: 47 additions & 137 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,74 +1,31 @@
This project is forked by Jay D Dee.

Building on linux:

Important new procedure for v3.0.3.

Ensure you have the following packages intalled in addition to the
standard development packages

libssl-dev
libcurl4-openssl-dev

"-march-native" should work for most CPUS. Some have found they
get better performance if they use the CPU's family name, ie haswell.

Some users with AMD CPUs without AES_NI have reported compile problem
using -march=native or a specific arch but have been successful
using -march=core2.

Use was works best for you.

Recent CPU with AES_NI (core i second gen):

./autogen.sh
./configure CFLAGS="-O3 -march=native" --with-crypto --with-curl
make

Older CPU without AES_NI (core2):

./autogen.sh
./configure CFLAGS="-O3 -march=native -DNO_AES_NI" --with-crypto --with-curl
make

Smoe users with AMD CPUs without AES_NI have reported compile problem
using -march=native or a specific arch but have been successful
using -march=core2.

Support for even older x86_64 without AES_NI or SSE2 is not availble.

A problem has been found with build.sh and it should not be used
at this time.

Windows is not supported at this time.

The rest of this file is taken from cpuminer-multi.
CPUMiner-opt
============

----------------
This is a multi-threaded CPU miner, fork of [pooler](//github.com/pooler)'s cpuminer (see AUTHORS for list of contributors).

This specific fork has AES optimizations for many algorithms, they are automatically used if your compiler, your CPU and the algorithm in question support it.

CPUMiner-Multi
==============
How to build
------------

[![Build Status](https://travis-ci.org/tpruvot/cpuminer-multi.svg)](https://travis-ci.org/tpruvot/cpuminer-multi)
```bash
git clone https://github.com/hmage/cpuminer-opt
cd cpuminer-opt
sudo apt-get install libssl-dev libcurl4-openssl-dev libjansson-dev
./build.sh
```

This is a multi-threaded CPU miner,
fork of [pooler](//github.com/pooler)'s cpuminer (see AUTHORS for list of contributors).
The resulting binary will be named `cpuminer`.

#### Table of contents
Requirements
------------

* [Algorithms](#algorithms)
* [Dependencies](#dependencies)
* [Download](#download)
* [Build](#build)
* [Usage instructions](#usage-instructions)
* [Donations](#donations)
* [Credits](#credits)
* [License](#license)
* CPU that supports SSE2.
* Linux.
* Recent enough gcc that supports `-march=native`.

Algorithms
==========
#### Currently supported
----------
*__scrypt__ (Litecoin, Dogecoin, Feathercoin, ...)
*__scrypt:N__
*__sha256d__ (Bitcoin, Freicoin, Peercoin/PPCoin, Terracoin, ...)
Expand All @@ -92,6 +49,7 @@ Algorithms
*__skein__ (Skeincoin, Myriadcoin, Xedoscoin, ...)
*__skein2__ (Woodcoin)
*__s3__ (OneCoin)
*__scrypt-jane__ (YaCoin, CopperBars, Pennies, Tickets, etc..)
*__x11__ (Darkcoin [DRK], Hirocoin, Limecoin, ...)
*__x13__ (Sherlockcoin, [ACE], [B2B], [GRC], [XHC], ...)
*__x14__ (X14, Webcoin [WEB])
Expand All @@ -101,94 +59,40 @@ Algorithms
#### Implemented, but untested
* ? blake2s
* ? hefty1 (Heavycoin)
* ? keccak (Maxcoin HelixCoin, CryptoMeth, Galleon, 365coin, Slothcoin, BitcointalkCoin)
* ? keccak (Maxcoin, HelixCoin, CryptoMeth, Galleon, 365coin, Slothcoin, BitcointalkCoin)
* ? luffa (Joincoin, Doomcoin)
* ? shavite3 (INKcoin)
* ? sib X11 + gost (SibCoin)

#### Planned support for
* *scrypt-jane* (YaCoin, CopperBars, Pennies, Tickets, etc..)
* ? sib (SibCoin)

Dependencies
============
------------
* libcurl http://curl.haxx.se/libcurl/
* jansson http://www.digip.org/jansson/ (jansson source is included in-tree)
* openssl libcrypto https://www.openssl.org/
* pthreads
* zlib (for curl/ssl)

Download
========
* Windows releases: https://github.com/tpruvot/cpuminer-multi/releases
* Git tree: https://github.com/tpruvot/cpuminer-multi
* Clone with `git clone https://github.com/tpruvot/cpuminer-multi`

Build
=====

#### Basic *nix build instructions:
* just use ./build.sh
_OR_
* ./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 -march=native" --with-crypto --with-curl
* # Use -march=native if building for a single machine
* 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

#### Basic Windows build with Visual Studio 2013
* All the required .lib files are now included in tree (windows only)
* AVX enabled by default for x64 platform (AVX2 and XOP could also be used)

#### Basic Windows build instructions, using MinGW64:
* Install MinGW64 and the MSYS Developer Tool Kit (http://www.mingw.org/)
* Make sure you have mstcpip.h in MinGW\include
* install pthreads-w64
* Install libcurl devel (http://curl.haxx.se/download.html)
* Make sure you have libcurl.m4 in MinGW\share\aclocal
* Make sure you have curl-config in MinGW\bin
* Install openssl devel (https://www.openssl.org/related/binaries.html)
* In the MSYS shell, run:
* for 64bit, you can use ./mingw64.sh else :
./autogen.sh # only needed if building from git repo
* LIBCURL="-lcurldll" ./configure CFLAGS="*-march=native*"
* # Use -march=native if building for a single machine
* make

#### 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.
* jansson http://www.digip.org/jansson/
* openssl https://www.openssl.org/

Easiest way to get them on Debian-based distributions is to run:
```bash
sudo apt-get install libssl-dev libjansson-dev libcurl4-nss-dev
```

Usage instructions
==================
Run "cpuminer --help" to see options.
------------------
Run `cpuminer --help` to see options.

### Connecting through a proxy

Use the --proxy option.
Use the `--proxy` option.

To use a SOCKS proxy, add a `socks4://` or `socks5://` prefix to the proxy host .

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.
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.
When the `--proxy` option is not used, the program honors the http_proxy and all_proxy environment variables.

Donations
=========
Donations for the work done in this fork are accepted :
---------
Donations for the work done in this fork are accepted:

Tanguy Pruvot :
* BTC: `1FhDPLPpw18X4srecguG3MxJYe4a1JsZnd`
Expand All @@ -198,12 +102,18 @@ Lucas Jones :
* MRO: `472haywQKoxFzf7asaQ4XKBc2foAY4ezk8HiN63ifW4iAbJiLnfmJfhHSR9XmVKw2WYPnszJV9MEHj9Z5WMK9VCNHaGLDmJ`
* BTC: `139QWoktddChHsZMWZFxmBva4FM96X2dhE`

Jay D Dee:
* BTC: `12tdvfF7KmAsihBXQXynT6E6th2c2pByTT`

HMage:
* BTC: `1HMageKbRBu12FkkFbMEcskAtH59TVrS2G`

Credits
=======
-------
CPUMiner-multi was forked from pooler's CPUMiner, and has been started by Lucas Jones.
* [tpruvot](https://github.com/tpruvot) added all the recent features and newer algorythmns
* [Wolf9466](https://github.com/wolf9466) helped with Intel AES-NI support for CryptoNight

License
=======
-------
GPLv2. See COPYING for details.

0 comments on commit 74a153a

Please sign in to comment.