An argon2id miner. Supports TurtleCoin and WrkzCoin, among others.
A CPU and NVIDIA miner for TurtleCoin / Chukwa / ChukwaV2 / WrkzCoin.
GPUs older than 800 series (8xx) are unfortunately not supported, as Cuda 11.1 does not support these ( https://en.wikipedia.org/wiki/GeForce_700_series#Discontinued_support)
Go here to download the latest release.
If you prefer to compile yourself, read on. This can result in increased hashrates in some cases.
We suggest you follow the guide here to setup your miner.
turtlecoin
or chukwa_v2
wrkzcoin
or chukwa_wrkz
chukwa
"niceHash": true
in your pool config.There are a couple of ways to configure the miner.
config.json
for modification if desired.violetminer --help
to list them all. It is not recommended to use command line options, as they are less configurable than the config. Only --algorithm
, --pool
, and --username
are mandatory.For example:
./violetminer --algorithm turtlecoin --pool trtl.pool.mine2gether.com:2225 --username TRTLv2Fyavy8CXG8BPEbNeCHFZ1fuDCYCZ3vW5H5LXN4K2M2MHUpTENip9bbavpHvvPwb4NDkBWrNgURAd5DB38FHXWZyoBh4wW
config.json
and modify to your purposes.{
"hardwareConfiguration": {
"cpu": {
"enabled": true,
"optimizationMethod": "Auto",
"threadCount": 12
},
"nvidia": {
"devices": [
{
"desktopLag": 100.0,
"enabled": true,
"id": 0,
"intensity": 100.0,
"name": "GeForce GTX 1070"
}
]
}
},
"pools": [
{
"agent": "",
"algorithm": "turtlecoin",
"host": "trtl.pool.mine2gether.com",
"niceHash": false,
"password": "x",
"port": 2225,
"priority": 0,
"rigID": "",
"ssl": false,
"username": "TRTLv2Fyavy8CXG8BPEbNeCHFZ1fuDCYCZ3vW5H5LXN4K2M2MHUpTENip9bbavpHvvPwb4NDkBWrNgURAd5DB38FHXWZyoBh4wW"
},
{
"agent": "",
"algorithm": "turtlecoin",
"host": "pool.turtle.hashvault.pro",
"niceHash": true,
"password": "x",
"port": 443,
"priority": 2,
"rigID": "",
"ssl": true,
"username": "TRTLv2Fyavy8CXG8BPEbNeCHFZ1fuDCYCZ3vW5H5LXN4K2M2MHUpTENip9bbavpHvvPwb4NDkBWrNgURAd5DB38FHXWZyoBh4wW"
},
{
"agent": "",
"algorithm": "wrkz",
"host": "fastpool.xyz",
"niceHash": false,
"password": "x",
"port": 3005,
"priority": 1,
"rigID": "",
"ssl": false,
"username": "WrkzjJMM8h9F8kDU59KUdTN8PvZmzu2HchyBG15R4SjLD4EcMg6qVWo3Qeqp4nNhgh1CPL7ixCL1P4MNwNPr5nTw11ma1MMXr7"
}
]
}
If you want to disable CPU mining, either set enabled
to false
in the cpu section, or start the miner with the --disableCPU
flag.
If you want to disable Nvidia mining, either set enabled
to false
for each card in the nvidia devices section, or start the miner with the --disableNVIDIA
flag.
If you want to disable a specific Nvidia or AMD card, just set enabled
to false
in the nvidia devices section for the appropriate card.
Note that changing the name
field does not do anything. It is only there to help you identify which device has which id.
It's highly recommended that you don't change the name
or id
fields, or you may end up with quite a confusing result.
You can always delete your config file, and let the program regenerate it, if you mess up.
intensity
value in the config.100
for intensity means the maximum threads and memory will be used.0
for intensity means no threads and memory will be used.desktopLag
value determines how long we will sleep between kernel launches.100
means there are no sleeps between launches.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:
AVX-512
AVX-2
SSE4.1
SSSE3
SSE2
None
Auto
Note: On ARMv8, Auto
uses no optimizations. From my testing, the NEON implementation actually performs worse than the reference implementation. You may want to experiment with toggling between NEON
and None
if you are on an ARM machine.
NEON
None
Auto
None
Auto
Run cmake with the -DENABLE_NVIDIA=OFF flag: cmake -DENABLE_NVIDIA=OFF ..
cd C:/
(Or your directory of choice)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
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/
sudo add-apt-repository "deb https://apt.llvm.org/trusty/ llvm-toolchain-trusty 6.0 main"
sudo add-apt-repository "deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial 6.0 main"
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
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
Reminder to use clang if possible. Make sure to set CC
and CXX
to point to clang
and clang++
as seen in the Ubuntu instructions.
git clone https://github.com/turtlecoin/violetminer
cd violetminer
git submodule update --init --recursive
mkdir build
cd build
cmake ..
make
pkg install cmake clang git
(Enter y
to confirm the install)git clone https://github.com/turtlecoin/violetminer
cd violetminer
git submodule update --init --recursive
mkdir build
cd build
cmake -DENABLE_NVIDIA=OFF ..
make
Or, if you hate typing and just want something to copy paste, try this single command:
cd && rm -Rf violetminer && apt-get update && pkg update -y && pkg install cmake clang git -y && git clone https://github.com/turtlecoin/violetminer && mkdir violetminer/build && cd violetminer/ && git submodule update --init --recursive && cd build/ && cmake -DENABLE_NVIDIA=OFF .. && make
Using this toolchain
ANDROID_ABI can be
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
git submodule foreach git pull origin master