Coder Social home page Coder Social logo

dwymi02 / nheqminer Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 8.0 49.5 MB

nheqminer (Zcash miner)

License: MIT License

CMake 0.68% C 5.37% C++ 43.37% Assembly 38.66% SourcePawn 1.90% Pascal 0.21% PHP 2.15% Pawn 0.66% Shell 0.01% Cuda 7.01%
zcash zec miner cpp linux cpu gpu

nheqminer's Introduction

nheqminer

This version of nheqminer is a continuation of the development effort, with the hope of making this a better ZEC mining tool.

  • This version of nheqminer supports both CPU and GPU (NVIDIA CUDA) ZEC mining

Table of contents

Features

  • Decent performance
  • Windows support for now, provided by nicehash
  • Linux support (tested on Ubuntu 18.04 LTS)
  • Stratum protocol support

Download

Build

Dependencies

  • Boost 1.62+

Windows

For the time being, Windows builds should be pulled from the original release, by NiceHash. Available here: https://github.com/nicehash/nheqminer/releases

Download and install:

Open nheqminer.sln under nheqminer/nheqminer.sln and build. You will have to build ReleaseSSE2 cpu_tromp project first, then Release 7.5 cuda_tromp project, then select Release and build all.

Enabled solvers

  • USE_CPU_TROMP
  • USE_CPU_XENONCAT
  • USE_CUDA_TROMP
  • USE_CUDA_DJEZO

If you don't want to build with all solvers you can go to nheqminer Properties > C/C++ > Preprocessor > Preprocessor Definitions and remove the solver you don't need.

Linux

Working solvers CPU_TROMP, CPU_XENONCAT, CUDA_TROMP, CUDA_DJEZO

Dependencies

  • CUDA -- 9.2
  • Boost -- 1.62 (built using 1.65.1)
  • build-essential -- 12.4
  • CMake -- 3.10.2

General instructions

Dependencies

Runtime Dependencies required to start nheqminer

  • NVIDIA CUDA toolkit.

    Please refer to the build section which provides the reference material for installing the NVIDIA CUDA toolkit

    For the time being the NVIDA CUDA toolkit is required even if you only wish to CPU mine ZEC coin. Development is working on providing a a CPU miner without the NVIDIA CUDA dependencies

Usage

Options

Parameters:
  -l [location] Stratum server:port
  -u [username] Username (wallet address)
  -a [port] Local API port (default: 0 = do not bind)
  -d [level]  Debug print level (0 = print all, 5 = fatal only, default: 2)
  -b [hashes] Run in benchmark mode (default: 200 iterations)
  -h    Print this help and quit

CPU settings
  -t [num_thrds]  Number of CPU threads
  -e [ext]  Force CPU ext (0 = SSE2, 1 = AVX, 2 = AVX2)

NVIDIA CUDA settings
  -ci   CUDA info
  -cd [devices] Enable CUDA mining on spec. devices
  -cb [blocks]  Number of blocks
  -ct [tpb] Number of threads per block

Example: -cd 0 2 -cb 12 16 -ct 64 128

When nheqminer is run without parameters, miner will utilize 75% of available logical CPU cores.

To see available parameters for nheqminer, from your command prompt enter the following command:

    nheqminer -h

Example to run benchmark on your CPU:

    nheqminer -b

Example to CPU mine, using your own wallet and worker id, on NiceHash USA server:

    nheqminer -l equihash.usa.nicehash.com:3357 -u YOUR_WALLET.YOUR_WORKER

Example to CPU mine, using your own wallet and worker id, on EU server, using 6 threads:

    nheqminer -l equihash.eu.nicehash.com:3357 -u YOUR_WALLET.YOUR_WORKER -t 6

Example to CPU mine, using your own wallet and worker id, on nanopool USA server:

    nheqminer -l zec-us-east1.nanopool.org:16666 -u YOUR_WALLET/YOUR_WORKER/[email protected] -p x -t [num_thrds]

Additional information about mining ZEC on nanopool please refer to https://zec.nanopool.org/help

Additional mining pools for your consideration available @ https://investoon.com/mining_pools/zec

Note: if you have a 4-core CPU with hyper threading enabled (total 8 threads) it is best to run with only 6 threads (experimental benchmarks shows that best results are achieved with 75% threads utilized)

Example to mine on your CPU as well on your CUDA GPUs with your own BTC address and worker1 on EU server, using 6 CPU threads and 2 CUDA GPUs:

    nheqminer -l equihash.eu.nicehash.com:3357 -u YOUR_WALLET.YOUR_WORKER -t 6 -cd 0 1

Donations

Donations are greatly appreciated and will be humbly accepted as reward for our labors ...

  • BTC: 1HcQHQfhjmdTVBW6mYdsBP9esw3zns4S4u
  • ETH: 0xef5aa02df61f419d5bf0d75bd5cf6ff3a3d83269
  • ZEC: t1PrZg5dBhcm7MfC21dcrRMxpD9tfzJiqAD
  • XMR: 46NX5s3K6ZX7cv4tF8C8moTUm3QpwNjjjarXfqUNsibxGc9aas6bSdmZCMDRgG9BWcPwoQrhJfGRCK6PAJTtBKT8Lpxct8F

nheqminer's People

Contributors

dwymi02 avatar eligao avatar kenshirothefist avatar kost avatar ngreatorex avatar nukesor avatar s74nk0 avatar tpruvot avatar vs4vijay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

nheqminer's Issues

Building nheqminer on an Ubuntu 21.10 VM

First of all, I should ask if building nheqminer on Ubuntu 21.10 is supported at all. Because I found that the CUDA toolkit is provided for 18.04 and 20.04 only. I installed the 20.04 CUDA into the 21.10 virtual machine and suspect that somebody is doing something nasty here. ๐Ÿ˜‰

Nevertheless, I am going to report my issue just for the case it could reveal a bug.

This is my system information:
bunt-inxi.log

I slightly but minimally modified the build instructions.

  • Cloned nheqminer in the ~/software/nheqminer directory.

  • Created this script called nheqminer_build.sh in the ~/software directory:

    #!/bin/bash
    
    export LC_ALL=C
    export LANG=C
    export LANGUAGE=C
    cd nheqminer/cpu_xenoncat/asm_linux &&
    chmod +x fasm &&
    sh assemble.sh &&
    cd ../../../
    mkdir -p build && cd build &&
    rm -Rvf * &&
    cmake \
        -DCUDA_CUDART_LIBRARY="/usr/local/cuda-9.2/lib64/libcudart.so" \
        ../nheqminer &&
        # -DUSE_CUDA_DJEZO=0
    make clean &&
    make -j $(nproc)
  • Then I ran the command ./nheqminer_build.sh 2>&1 | tee nheqminer_build.log the input of which follows:

    nheqminer_build.log

    The error reads as follows (excerpt from the above log):

    /home/pavel/software/nheqminer/cuda_djezo/../cpu_tromp/blake2/blake2.h:100:21: error: size of array element is not a multiple of its alignment
      100 |     blake2s_state S[8][1];
          |                     ^
    /home/pavel/software/nheqminer/cuda_djezo/../cpu_tromp/blake2/blake2.h:100:21: error: size of array element is not a multiple of its alignment
    /home/pavel/software/nheqminer/cuda_djezo/../cpu_tromp/blake2/blake2.h:108:21: error: size of array element is not a multiple of its alignment
      108 |     blake2b_state S[4][1];
          |                     ^
    /home/pavel/software/nheqminer/cuda_djezo/../cpu_tromp/blake2/blake2.h:108:21: error: size of array element is not a multiple of its alignment
    CMake Error at cuda_djezo_generated_equi_miner.cu.o.cmake:280 (message):
      Error generating file
      /home/pavel/software/build/cuda_djezo/CMakeFiles/cuda_djezo.dir//./cuda_djezo_generated_equi_miner.cu.o
    
    
    make[2]: *** [cuda_djezo/CMakeFiles/cuda_djezo.dir/build.make:84: cuda_djezo/CMakeFiles/cuda_djezo.dir/cuda_djezo_generated_equi_miner.cu.o] Error 1
    make[1]: *** [CMakeFiles/Makefile2:190: cuda_djezo/CMakeFiles/cuda_djezo.dir/all] Error 2
    make: *** [Makefile:149: all] Error 2
    

As you can see, I also played around with disabling the USE_CUDA_DJEZO flag (see the line commented out in the build script). Having that disabled, I ran basically into the same error in the blake2.h file.

read_until: End of file -- Reconnecting in 3 seconds

I have noticed that this problem occurs both on Windows and Linux. This problem was originally reported in [https://github.com/nicehash/nheqminer/issues/46], but no action was taken.

Following was taken from a running miner:
[00:38:20][0x00007f832f28fd00] Speed [15 sec]: 10.2 I/s, 19.5333 Sols/s
[00:38:56][0x00007f832cdc4700] stratum | Received new job #1534332102
[00:39:08][0x00007f832cdc4700] stratum | read_until: End of file
[00:39:08][0x00007f832cdc4700] stratum | Reconnecting in 3 seconds...

THANX(MKD).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.