Giter Club home page Giter Club logo

autominer's People

Contributors

hossbeast avatar juniorjpdj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

autominer's Issues

run nicehash-aggregator on demand

To make it easier for users, launch nicehash-aggregator from autominer-mine when necessary. This solves the base case, for users that only run a single autominer instance.

For users that run multiple copies of autominer with different profiles, use a lock to avoid running multiple instances of nicehash-aggregator.

Retain the ability to run nicehash-aggregator independently, and make that the recommendation for users that run multiple autominers under different profiles.

Some polishing needed for fresh install

Hi,

Was checking out your autoswitcher. Looking nice but: Have a few remarks for now (Ubuntu 16.04).
#!/bin/env gives issues -> #!/usr/bin/env

Needed to install:
sudo apt-get install libjson-xs-perl

First start nicehash-aggegrator searches for non-existent directories:
.autominer/config) : No such file or directory
.autominer/data/rates/nicehash/samples) : No such file or directory

Did this manually.

It seems that nicehash-aggegrator needs to run indefenenitly?

Hope it helps.

PS Where do you expect the miners to live?

enhanced history with streams

autominer maintains a history of activity, divided into intervals. Over the course of a single interval, autominer was pursuing one particular mining option, which consists of a market, pool, miner, and algo. This history is represented as a stream, and is identified by the profile.

In addition, autominer maintains several partial streams, which are identified by attributes that correspond to the mining option.

  • per miner
  • per worker
  • per algo/miner
  • per pool/market
  • per nicehash address
  • per miningpoolhub username

Each stream ise also associated with the profile.

This enables post-hoc analysis that follows these streams, for example, autominer stats will let you restrict its query to only those intervals in which a particular algo was being mined, with a particular miner.

support running miners not from $PATH

Some miners have the same name, also, frequently you have to compile miners from source, so it's not always convenient to install the miner application and make it available in $PATH. Support config keys which specify /path/to/miner/executable.

support miningpoolhub

I want to enable pplns pool mining too, with a pool service like miningpoolhub.

The prediction of profit is straightforward but quite different from nicehash.

Docker?

Have you thought about releasing a dockerfile to spin it up with the miners etc, would really make deployment easy.

stats: graphs

show graphs of performance over time.

should stay in the console.

nicehash: use hashrate sold, instead of hashrate produced

Nicehash has an api

stats.provider?addr=

which reports the hashing speed as measured by nicehash. It's refreshed every 30 seconds, but its not clear what time period its reporting. I can only guess its the trailing 30 seconds.

autominer currently uses hashing speed as reported locally, by monitoring the miner directly. The speed reported by nicehash is probably more useful. Also, I could compare the two and possibly alert the operator of a misconfiguration that will lead to choosing a suboptimal mining strategy.

enhanced predictions with boosting

Boosting is a feedback mechanism from the actual rewards of mining some option over an interval, to the prediction of rewards for mining that same option in the future.

The goal is to enhance the accuracy of predictions to improve overall rewards. Another important outcome is to enable autominer to automatically de-prioritize mining options which aren't working for one reason or another (pools go down, miner executables break, etc).

The boost factor should decay over time, so that predictions tend back towards unmodified (a boost factor of 1.0).

Configuration knobs will include number of samples to use in calculating the boost, duration of time for which a sample remains relevant to the boost, and a padding factor (the larger the padding factor, the more the boost will trend towards 1.0)

nicehash: ability to switch based on opportunity price

Because nicehash works as a market that matches buyer and sellers, using trailing average price to switch can lead to suboptimal choices for sellers.

(If nicehash was an actual intermediary, buying all hashrate at some price and reselling to buyers at a markup, this would not be the case. But that's not how nicehash works, and it would be impossible anyway, since sellers have to include the payout address in blocks which they mine).

For example, It's possible for demand to be 100% satisfied for a particular algo, and yet for the average price paid to be high. In this case, miners that are already hashing that algo are getting a good rate, but new miners will get a much lower rate than the average, including possibly zero.

I define "opportunity price" as the average price on offer for the top 10% of unsatisfied demand. Using this metric as a guide for switching is more likely to avoid switching to an algo which is already saturated with sellers.

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.