Skip to content
An argon2 miner. Supports TurtleCoin and WrkzCoin, among others.
C++ Other
  1. C++ 98.9%
  2. Other 1.1%
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
scripts Run tests on windows Aug 8, 2019
src Fix AVX-512 implementation Aug 19, 2019
.gitignore Initial commit Aug 4, 2019
.gitmodules Skeleton of pool communication Aug 7, 2019
.travis.yml Set default linux build to clang Aug 17, 2019
CMakeLists.txt Add optimization selection and welcome header Aug 17, 2019
LICENSE.md Add license Aug 4, 2019
README.md Update readme Aug 19, 2019

README.md

violetminer

image

A CPU miner for Argon2i, Argon2d, and Argon2id.

Master Build Status

Build Status

Development Build Status

Build Status

Download

Go here to download the latest release.

If you prefer to compile yourself, read on. This can result in increased hashrates in some cases.

Algorithms Supported

  • TurtleCoin - choose turtlecoin or chukwa
  • WrkzCoin - choose wrkzcoin or chukwa_wrkz

Notes

  • Supports xmrig-proxy - Make sure to enable "niceHash": true in your pool config.
  • Pools are tried top to bottom, the lower a pool, the lower it's priority. If we are not connected to the highest priority pool, we will continuously retry connecting to higher priority pools.
  • Supports AVX-512, AVX-2, SSE4.1, SSSE3 and SSE2 optimizations
  • Dev fee is 1%.

Configuring

There are a couple of ways to configure the miner.

  • Just start it, and walk throught the guided setup. Upon completion, the config will be written to config.json for modification.
  • Use command line options. Use violetminer --help to list them all. It is not recommended to use command line options, as they are less configurable than the config.
  • Copy the below config to config.json and modify to your purposes.
{
    "optimizationMethod": "Auto",
    "pools": [
        {
            "agent": "",
            "algorithm": "turtlecoin",
            "host": "publicnode.ydns.eu",
            "niceHash": false,
            "password": "",
            "port": 4666,
            "rigID": "",
            "username": "TRTLv2Fyavy8CXG8BPEbNeCHFZ1fuDCYCZ3vW5H5LXN4K2M2MHUpTENip9bbavpHvvPwb4NDkBWrNgURAd5DB38FHXWZyoBh4wW"
        },
        {
            "agent": "violetminer-v0.0.3",
            "algorithm": "wrkzcoin",
            "host": "139.162.29.140",
            "niceHash": false,
            "password": "x",
            "port": 4444,
            "rigID": "rig1",
            "username": "WrkzjJMM8h9F8kDU59KUdTN8PvZmzu2HchyBG15R4SjLD4EcMg6qVWo3Qeqp4nNhgh1CPL7ixCL1P4MNwNPr5nTw11ma1MMXr7"
        }

    ],
    "threadCount": 12
}

Optimization method

By default, the program will automatically choose the optimization method to use.

In some cases, you may find you get better performance by manually specifying the optimization method to use.

You can, if desired, use a different optimization method, or disable optimizations altogether.

Note that you can only use optimizations that your hardware has support for - these are printed at startup.

Simply set the desired value in the optimizationMethod config field.

Available optimizations for each platform are as follows:

x86_64 (64 bit Intel/AMD Windows/Mac/Linux)

  • AVX-512
  • AVX-2
  • SSE4.1
  • SSSE3
  • SSE2
  • None
  • Auto

Anything else

  • None
  • Auto

Compiling

Windows

For 64-bit:

  • From the start menu, open 'x64 Native Tools Command Prompt for VS 2019'.
  • git clone https://github.com/turtlecoin/violetminer
  • cd violetminer
  • git submodule update --init --recursive
  • mkdir build
  • cd build
  • cmake -G "Visual Studio 16 2019" -A x64
  • MSBuild violetminer.sln /p:Configuration=Release /m

For 32-bit:

  • From the start menu, open 'x86 Native Tools Command Prompt for VS 2019'.
  • git clone https://github.com/turtlecoin/violetminer
  • cd violetminer
  • git submodule update --init --recursive
  • mkdir build
  • cd build
  • cmake -G "Visual Studio 16 2019" -A Win32 ..
  • MSBuild violetminer.sln /p:Configuration=Release /p:Platform=Win32 /m

Linux

It's highly recommended to use Clang to compile. It gets better hashrate.

Ubuntu, using Clang

  • sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
  • wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -

You need to modify the below command for your version of ubuntu - see https://apt.llvm.org/

  • Ubuntu 14.04 (Trusty)
  • sudo add-apt-repository "deb https://apt.llvm.org/trusty/ llvm-toolchain-trusty 6.0 main"
  • Ubuntu 16.04 (Xenial)
  • sudo add-apt-repository "deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial 6.0 main"
  • Ubuntu 18.04 (Bionic)
  • sudo add-apt-repository "deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic 6.0 main"

  • sudo apt-get update

  • sudo apt-get install aptitude -y

  • sudo aptitude install -y -o Aptitude::ProblemResolver::SolutionCost='100*canceled-actions,200*removals' build-essential clang-6.0 libstdc++-7-dev git python-pip libssl-dev

  • sudo pip install cmake

  • export CC=clang-6.0

  • export CXX=clang++-6.0

  • git clone https://github.com/turtlecoin/violetminer

  • cd violetminer

  • git submodule update --init --recursive

  • mkdir build

  • cd build

  • cmake ..

  • make

Ubuntu, using GCC

  • sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
  • sudo apt-get update
  • sudo apt-get install aptitude -y
  • sudo aptitude install -y build-essential g++-8 gcc-8 git python-pip libssl-dev
  • sudo pip install cmake
  • export CC=gcc-8
  • export CXX=g++-8
  • git clone https://github.com/turtlecoin/violetminer
  • cd violetminer
  • git submodule update --init --recursive
  • mkdir build
  • cd build
  • cmake ..
  • make

Generic Linux

  • git clone https://github.com/turtlecoin/violetminer
  • cd violetminer
  • git submodule update --init --recursive
  • mkdir build
  • cd build
  • cmake ..
  • make

Android Cross Compile

Using this toolchain

ANDROID_ABI can be

  • armeabi-v7a
  • arm64-v8a
  • x86
  • x86_64

Set this depending on the architecture of the phone you want to run it on.

  • git clone https://github.com/turtlecoin/violetminer
  • cd violetminer
  • git submodule update --init --recursive
  • mkdir build
  • cd build
  • cmake -DCMAKE_TOOLCHAIN_FILE="${HOME}/Android/sdk/android-ndk-r20/build/cmake/android.toolchain.cmake" -DANDROID_ABI=arm64-v8a -DANDROID_CROSS_COMPILE=ON ..
  • make

Developing

  • Update submodules to lastest commit: git submodule foreach git pull origin master
You can’t perform that action at this time.