Giter Site home page Giter Site logo

sammy007 / monero-stratum Goto Github PK

View Code? Open in Web Editor NEW
482.0 72.0 201.0 240 KB

Solo mining stratum for Monero & AEON with built-in Web-UI

License: GNU General Public License v2.0

CMake 3.18% C 0.92% Go 71.81% C++ 1.45% HTML 15.80% JavaScript 3.01% CSS 2.64% Shell 1.19%
monero mining stratum cryptonight cryptonote aeon

monero-stratum's Introduction

monero-stratum

High performance CryptoNote mining stratum with Web-interface written in Golang.

Go Report Card CircleCI

Stratum feature list:

  • Be your own pool
  • Rigs availability monitoring
  • Keep track of accepts, rejects, blocks stats
  • Easy detection of sick rigs
  • Daemon failover list
  • Concurrent shares processing
  • Beautiful Web-interface

Installation

Dependencies:

  • go-1.6
  • Everything required to build Monero
  • Monero >= v0.14.0.0 (sometimes master branch required)

Linux

Use Ubuntu 16.04 LTS.

Compile Monero source (with shared libraries option):

apt-get install git cmake build-essential libssl-dev pkg-config libboost-all-dev
git clone --recursive https://github.com/monero-project/monero.git
cd monero
git checkout tags/v0.14.0.0 -b v0.14.0.0
cmake -DBUILD_SHARED_LIBS=1 .
make

Install Golang and required packages:

sudo apt-get install golang

Clone stratum:

git clone https://github.com/sammy007/monero-stratum.git
cd monero-stratum

Build stratum:

MONERO_DIR=/path/to/monero cmake .
make

MONERO_DIR=/path/to/monero is optional, not needed if both monero and monero-stratum is in the same directory like /opt/src/. By default make will search for monero libraries in ../monero. You can just run cmake ..

Mac OS X

Compile Monero source:

git clone --recursive https://github.com/monero-project/monero.git
cd monero
git checkout tags/v0.14.0.0 -b v0.14.0.0
cmake .
make

Install Golang and required packages:

brew update && brew install go

Clone stratum:

git clone https://github.com/sammy007/monero-stratum.git
cd monero-stratum

Build stratum:

MONERO_DIR=/path/to/monero cmake .
make

Running Stratum

./build/bin/monero-stratum config.json

If you need to bind to privileged ports and don't want to run from root:

sudo apt-get install libcap2-bin
sudo setcap 'cap_net_bind_service=+ep' /path/to/monero-stratum

Configuration

Configuration is self-describing, just copy config.example.json to config.json and run stratum with path to config file as 1st argument.

{
  // Address for block rewards
  "address": "YOUR-ADDRESS-NOT-EXCHANGE",
  // Don't validate address
  "bypassAddressValidation": true,
  // Don't validate shares
  "bypassShareValidation": true,

  "threads": 2,

  "estimationWindow": "15m",
  "luckWindow": "24h",
  "largeLuckWindow": "72h",

  // Interval to poll daemon for new jobs
  "blockRefreshInterval": "1s",

  "stratum": {
    // Socket timeout
    "timeout": "15m",

    "listen": [
      {
        "host": "0.0.0.0",
        "port": 1111,
        "diff": 5000,
        "maxConn": 32768
      },
      {
        "host": "0.0.0.0",
        "port": 3333,
        "diff": 10000,
        "maxConn": 32768
      }
    ]
  },

  "frontend": {
    "enabled": true,
    "listen": "0.0.0.0:8082",
    "login": "admin",
    "password": "",
    "hideIP": false
  },

  "upstreamCheckInterval": "5s",

  "upstream": [
    {
      "name": "Main",
      "host": "127.0.0.1",
      "port": 18081,
      "timeout": "10s"
    }
  ]
}

You must use anything.WorkerID as username in your miner. Either disable address validation or use <address>.WorkerID as username. If there is no workerID specified your rig stats will be merged under 0 worker. If mining software contains dev fee rounds its stats will usually appear under 0 worker. This stratum acts like your own pool, the only exception is that you will get rewarded only after block found, shares only used for stats.

Donations

XMR: 47v4BWeUPFrM9YkYRYk2pkS9CubAPEc7BJjNjg4FvF66Y2oVrTAaBjDZhmFzAXgqCNRvBH2gupQ2gNag2FkP983ZMptvUWG

Highly appreciated.

License

Released under the GNU General Public License v2.

http://www.gnu.org/licenses/gpl-2.0.html

monero-stratum's People

Contributors

dagonharett avatar sammy007 avatar stoffu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

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.