Bitcoin Forum
December 11, 2024, 11:38:07 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: autominer: an autoswitching miner for linux  (Read 1118 times)
hossbeast (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
July 15, 2017, 11:10:26 PM
 #1

I wrote an autoswitching miner for linux and am releasing it open source.

https://github.com/hossbeast/autominer

autominer is selects the miner and algorithm to mine based on past performance and recent market rates in order to achieve the optimal mining strategy.

There is no benchmarking phase. Autominer continuously monitors the performance of your miners and uses these data to determine which miner and algorithm to run. If a miner/algo combination has never been run, autominer will choose to run it.

Right now the only market it supports is nicehash.

Supported miners
* ccminer (https://github.com/tpruvot/ccminer)
* ccminer-cryptonight (https://github.com/KlausT/ccminer-cryptonight)
* ethminer (https://github.com/Genoil/cpp-ethereum)
* nheqminer_cuda (https://github.com/nicehash/nheqminer)
* sgminer/pascal (https://github.com/nicehash/sgminer)

It was written with extensibility in mind, so additional markets/miners can be added in the future.

From my experience running it over the last 2 weeks, I get about ~0.0012 BTC/Day with autominer per 1080 ti, compared to ~0.0010 BTC/Day running on nicehash using the algorithm from whattomine directly (lbry in this case).

Happy to receive any feedback!
puwaha
Sr. Member
****
Offline Offline

Activity: 700
Merit: 294


View Profile
July 16, 2017, 05:20:51 PM
 #2

Can you describe the methods that it uses to switch algo/coins?  Is it strictly based upon what a website like whattomine says is most profitable at that point in time?  You mention that it uses past performance... does it use an averaging system, or a weighted averaging system based upon difficulty, exchange rate, or other factors?
hossbeast (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
July 18, 2017, 05:04:45 AM
Last edit: July 18, 2017, 01:55:40 PM by hossbeast
 #3

To calculate the expected profit for choosing to run a miner/algo, autominer uses the formula: $profit = $price * $hashrate.

For $price, nicehash has this api

http://api.nicehash.com/api?method=stats.global.current

which reports the average price paid for each algorithm. Their api page says that the data is refreshed every 30 seconds.

autominer comes with a program called nicehash-aggregator which queries this api every 30 seconds and maintains trailing averages over the following time windows : 30 seconds, 1 minute, 5 minutes, 10 minutes, 1 hour, and 3 hours. Those trailing averages are written to disk.

When you run autominer, you can specify which trailing average to use (the default is the 10 minute average).

For $hashrate, autominer monitors the performance of the miner while it's running, and uses the average reported over the last 10 minutes in which that miner was run. The performance of the miner is typically determined by examining stdout (e.g. ccminer), but it varies by miner. For example, for sgminer, you have to query its local api (which is done every 10 seconds).

Periodically, autominer recalculates the expected profit of every miner/algo that it knows about, and selects the most profitable option. By default this happens every 5 minutes. If the new selection is different from the current selection, it stops the current miner, and launches a new miner.
hossbeast (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
July 18, 2017, 05:14:49 AM
 #4

There are also some basic historical analysis commands.

autominer stats will show the miner/algo/hashrate/price and expected profit at each point that it analyzed possible options (historical selections).

autominer rates will show the current trailing (30 seconds, 1 minute, 5 minutes, etc) average for every algorithm on nicehash, along with the percentage delta compared to the trailing 3 hour average. So for example, I can see that blake256r8 is up 359% right now compared to its 3 hour average, and nist5 is down 35%.
MikeBuzz
Member
**
Offline Offline

Activity: 68
Merit: 10


View Profile
July 21, 2017, 09:19:21 AM
 #5

Has anyone tested this?

Beat the withdrawal fees using Coinbase and Revolut Fee Free Banking!!
hossbeast (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
July 22, 2017, 03:41:30 AM
 #6

I'm using it 24x7 to control the miners for my cards. Also fixed a bug that fixed the way sgminer was invoked a couple of days ago.
MikeBuzz
Member
**
Offline Offline

Activity: 68
Merit: 10


View Profile
July 22, 2017, 07:20:24 AM
 #7

I'm using it 24x7 to control the miners for my cards. Also fixed a bug that fixed the way sgminer was invoked a couple of days ago.

What distro are you running it on?

Beat the withdrawal fees using Coinbase and Revolut Fee Free Banking!!
hossbeast (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
July 22, 2017, 02:15:01 PM
 #8

Arch Linux. Dependencies are : perl, JSON::XS, and curl. It will run on any linux distro.
hossbeast (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
July 28, 2017, 04:57:03 AM
 #9

Announcing v1.2

* support mining in different nicehash regions (even many at once)
* profiles allow you to run separate instances on different set(s) of GPUs
* improved startup time
* run the pricing aggregator on demand
* install on Ubuntu streamlined
* install dependency instructions
* config key for path to miner executables, in case they are not in $PATH
hossbeast (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
February 26, 2018, 05:35:17 AM
 #10

Announcing v2.0

(bumped to v2.0 because the file format for history is not compatible with previous releases)

* add support for the eqm miner
* experimental support for miningpoolhub
* improved history. With autominer stats you can analyze past results based on a combination of factors, like miner, algo, pool, worker, nicehash address, mph username, etc.
* boosting. Enhance prediction accuracy by taking into account past results. The boost decays over time so that predictions tend back towards unmodified.
* various bug fixes
hossbeast (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
June 09, 2018, 03:56:35 PM
 #11

Announcing v2.1

    Support the following algos, which have recently been added to nicehash
     * cryptonightheavy
     * cryptonightv7
     * lyra2z
     * scryptjanenf16
     * scryptnf
     * skunk
     * whirlpoolx

    Fix rates calculation for the following algos, which are now reported by
    nicehash in Th/s instead of Gh/s
     * nist5
     * x13

    Add support for the nicehash regions hk, and jp
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!