Custom miner: excavator (with algo autoswitch)

custom-miner
#1

Excavator is GPU miner by NiceHash for mining various altcoins on NiceHash.com. Excavator is being actively developed by djeZo, dropky and voidstar. Miner is using custom built code base with modern approach and supporting modern NVIDIA video cards.

Excavator is a proprietary software by NiceHash and has a special EULA. I’m not allowed to redistribute it, that’s why there is no miner in my integration. But don’t worry it will be download automatically from the official release.

Custom miner name: excavator
Installation URL: http://download.hiveos.farm/custom/excavator-1.5.11_a.tar.gz
Extra config arguments: JSON config for miner. At least you should specify ‘subscribe’ method, algorithms and workers will be created or replaced by autoswitch.

Default config is here, additional information about it creating is here.

Algo autoswitch
I used the magic Python script of comrades Ryan Young, Krailon, NOP-Gate.

To make it works you should fill in the Pool URL field with hashrate results of all your cards for every algo you want to use. Hashrate values must be in hs/s and like scientific notation:

   x kH/s  ->  x*1e3
   x MH/s  ->  x*1e6
   x GH/s  ->  x*1e9

Wallet template field isn’t used but Hive 2.0 requires to fill it in.

Currently hashrate for only one algorithm will be shown at Hive webface. Still working on it.

To update miner from previous version use custom-get command with -f key:
custom-get http://download.hiveos.farm/custom/excavator-1.5.11_a.tar.gz-f

I’ll be very grateful for your feedback!

Custom Miner Integration
Custom Miner Integration
Custom Miner Integration
#2

How to get hashrate results.

Of course you can test it manually but the comrade Ryan Young’s made Python script to automate it.
It’s not easy to use, but I believe in you!

Open rig’s console and lets go to the miner dir:
cd /hive/custom/excavator/

install additional Python utils:
apt-get install python-pip python3-pip

And pathlib2 library:
pip install pathlib2

Get Ryan Young’s script:
git clone https://github.com/YoRyan/nuxhash.git

Go to its dir:
cd nuxhash

And start benchmark:
./nuxhashd.py --benchmark-all

It takes 5 minute per algo so be patient. Finally it gives you results like this:

CUDA device: GeForce GTX 1050 Ti (GPU-ab9e3126-ee01-b7b6-16cc-19982f72f456)
  excavator_lbry: 111.28 MH/s                      
  excavator_blake2s:   1.58 GH/s                      
  excavator_daggerhashimoto_pascal:   5.46 MH/s, 305.76 MH/s                      
  excavator_daggerhashimoto:  13.20 MH/s                      
  excavator_keccak: 323.01 MH/s                      
  excavator_equihash: 179.16  H/s                      
  excavator_neoscrypt: 493.40 kH/s                      
  excavator_pascal: 405.12 MH/s                      
  excavator_cryptonightV7: 302.13  H/s                      
  excavator_decred:   1.10 GH/s                      
  excavator_sia: 686.30 MH/s                      
  excavator_lyra2rev2:  16.05 MH/s                      
  excavator_daggerhashimoto_decred:  13.00 MH/s, 311.90 MH/s                      
  excavator_daggerhashimoto_sia:  13.04 MH/s, 166.93 MH/s                      
  excavator_lyra2z: 638.56 kH/s
                  
CUDA device: GeForce GTX 1050 Ti (GPU-e9f92f19-0f91-31b1-2628-1e5a2dce35ef)
  excavator_daggerhashimoto:  13.10 MH/s                      
  excavator_keccak: 259.91 MH/s                      
  excavator_blake2s:   1.31 GH/s                      
  excavator_daggerhashimoto_pascal:   4.63 MH/s, 259.10 MH/s                      
  excavator_pascal: 348.71 MH/s                      
  excavator_cryptonightV7: 285.71  H/s                      
  excavator_equihash: 150.49  H/s                      
  excavator_neoscrypt: 391.62 kH/s                      
  excavator_sia: 566.49 MH/s                      
  excavator_lyra2rev2:  13.45 MH/s                      
  excavator_decred: 906.29 MH/s                      
  excavator_daggerhashimoto_sia:  12.88 MH/s, 164.85 MH/s                      
  excavator_lyra2z: 622.41 kH/s                      
  excavator_daggerhashimoto_decred:  12.58 MH/s, 301.97 MH/s                      
  excavator_lbry:  95.37 MH/s      

For most algos it gives you values in kH/s, MH/s or GH/s, so you need to convert it in H/s and don’t forget about scientific notation (SCI):

   x kH/s  ->  x*1e3
   x MH/s  ->  x*1e6
   x GH/s  ->  x*1e9

Example:
excavator_lyra2z: 622.41 kH/s so it will be 622.41e3,
excavator_daggerhashimoto: 13.10 MH/s so it will be 13.1e6,
excavator_blake2s: 1.31 GH/s so it will be 1.31e9,
excavator_daggerhashimoto_sia: 12.88 MH/s, 164.85 MH/s not bad but don’t forget about ASICs at sia, decred and pascal, so it’ll be better to exclude these algorithms

And here are formatted results for my cards:

BENCHMARKS[0] = {
    'equihash': 179.16,
    'lbry': 111.28e6,
    'blake2s': 1.58e9,
    'lyra2rev2': 16.05e6,
    'daggerhashimoto': 13.2e6,
    'neoscrypt': 493.4e3,
    };
BENCHMARKS[1] = {
    'equihash': 150.49,
    'lbry': 95.37e6,
    'blake2s': 1.31e9,
    'lyra2rev2': 13.45e6,
    'daggerhashimoto': 13.45e6,
    'neoscrypt': 391.62e3,
    }

Place it into Pool URL field in custom miner config:

That’s all! Start mining and check miner’s tail log, it should be like this:

#3

Awesome thanks for the good explanation of converting with profits crashing I’m making more with nicehash and BTC will go up before anything else does, a lot of ppl diss nicehash but how many companies in crypto make good on paying back after a hack

#4

Доброго времени суток.Такой вопрос возник : а можно ли реализовать смену параметров алгоритма с веб-морды?
к примеру для даггерхашмото 4 последних значения:
{“id”:1,“method”:“worker.add”,“params”:[“daggerhashimoto”,“0”,“B=2048”,“TPB=128”,“HPW=4”,“S=1”]}

#5

Не понял, о какой смене параметров речь, но вероятно можно.
На веб-морде нижнее поле (Доп.параметры майнера) - это аналог конфигурационного файла экскаватора. Всё, что там будет написано, передастся майнеру. В него можно записать этот пример для даггерхашмото.

Поле пулов используется для настройки автосвича алгоритмов, в него надо записать результаты производительности каждой карты в риге в определённом формате, описанном во втором посте темы.

#6

Попробую описать как можно детальнее.
Стандартный конфиг эксватора выглядит примерно так :

Summary

[
{“time”:0,“commands”:[
{“id”:1,“method”:“subscribe”,“params”:[“nhmp.usa.nicehash.com:3200”,“34HKWdzLxWBduUfJE9JxaFhoXnfC6gmePG.testrig”]}
]},
{“time”:2,“commands”:[
{“id”:1,“method”:“algorithm.add”,“params”:[“daggerhashimoto”]}
]},
{“time”:3,“commands”:[
{“id”:1,“method”:“worker.add”,“params”:[“daggerhashimoto”,“0”]}
]},
{“time”:10,“loop”:10,“commands”:[
{“id”:1,“method”:“worker.print.speed”,“params”:[“0”]},
{“id”:1,“method”:“algorithm.print.speeds”,“params”:[]}
]}

в строке

{“id”:1,“method”:“worker.add”,“params”:[“daggerhashimoto”,“0”]}

Можно прописать доп.параметры для алгоритма(соответственно для каждого свои:)) получиться примерно такой вид :

{“id”:1,“method”:“worker.add”,“params”:[“daggerhashimoto”,“0”,“B=8192”,“TPB=0”,“HPW=4”,“S=2”]}

для cryptonightV7 :

{“id”:1,“method”:“worker.add”,“params”:[“cryptonightv7”,“0”,“B=0”,“TPB=0”]}

Суть в чем : если с включенным “автосвитчем” и вписанными в вебе параметрами для каждого алгоритма , они же (параметры) сами не буду прописываться куда нужно при смене алго, или я дико ошибаюсь?

#7

Теперь понял. Вопрос в том, будут ли сохраняться доп.настройки при переключение алгоритма через автосвич?
Честно говоря, не силён в питоне, но я не смог найти в этом скрипте место, где бы он сохранял настройки карт. Так что скорее всего нет, не будут.
Ну а что бы окончательно в этом убедиться - нужно просто проверить. :wink:

1 Like
#8

Спасиб)

#9

Доброго времени суток)Как-то не очень много народу в топике,лишь я с нубскими вопросами * :sweat_smile: * .Честно я сам пытался решить проблему,не один день (звучит как жалкая отмазка).
Суть:
если в jsone прописан разгон и запуск экскаватора производиться через веб, ssh( ssh -XC тоже пробывал),teleconsole, то параметры разгона, ( тавтология-простите), не применяются,а точнее срабатывает только pl.частоты ядра и памяти не подхватываются.но если запусть через VNC ,допустим, то OC применяется полностью.
Есть предположение : nvidia-settings игнорируют данные им параметры,так запуск был без гуи,а они(settings) без гуи вроде не работают(чую я что-то упускаю)
Я походу опять настрочил мало понятный набор слов.
Проблема : при запуске с веб,разгон из jsona не применяется.
ЗЫ.по-любому ответ на поверхности. :frowning:

Update:
После накатанной мной жалобы и переустановки драйверoв на 410.47 и переустановки ситингов все стало работать.

Update2(17.10.2018):
И опять не хочет подхватывать параметры разгона из jsona экскаватора :frowning:
nvidia-settings: version 390.77
nvidia-smi 410.66
Driver Version: 410.66

#10

Bugged script detected !!!

не работает

запустил это дело на линукс минт 19 чистом ради интереса

возникла ошибка на последнем пункте где уже должен был запустить бенчмарк.
такого файла с ГИТ вообще не поступило
user@PC1:/media/user/F/Work/Mining/excavator/nuxhash$ dir
LICENSE.txt nuxhash README.md setup.cfg setup.py tests
user@PC1:/media/user/F/Work/Mining/excavator/nuxhash$

user@PC1:/media/user/F/Work/Mining/excavator/nuxhash$ sudo ./setup.py
sudo: ./setup.py: команда не найдена
user@PC1:/media/user/F/Work/Mining/excavator/nuxhash$ ./setup.py
bash: ./setup.py: Отказано в доступе
user@PC1:/media/user/F/Work/Mining/excavator/nuxhash$ sudo chmod -R 777
chmod: пропущен операнд после «777»
По команде «chmod --help» можно получить дополнительную информацию.
user@PC1:/media/user/F/Work/Mining/excavator/nuxhash$ cd …
user@PC1:/media/user/F/Work/Mining/excavator$ sudo chmod -R 777 nuxhash
user@PC1:/media/user/F/Work/Mining/excavator$ cd nuxhash/
user@PC1:/media/user/F/Work/Mining/excavator/nuxhash$ ./setup.py
./setup.py: строка 6: A setuptools based setup module.

See:
https://packaging.python.org/en/latest/distributing.html


: Нет такого файла или каталога
from: can’t read /var/mail/setuptools
from: can’t read /var/mail/os
./setup.py: строка 17: синтаксическая ошибка рядом с неожиданным маркером «(»
./setup.py: строка 17: `here = path.abspath(path.dirname(file))’
user@PC1:/media/user/F/Work/Mining/excavator/nuxhash$

#11

т.е. ты не смог скачать файл, и сделал вывод, что скрипт не работает. Ну ок, чо)
Сорян, действительно, что-то там автор все скрипты переделал.