Giter Site home page Giter Site logo

zeropool / monero-stratum Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sammy007/monero-stratum

0.0 2.0 0.0 108 KB

Solo mining stratum for Monero

License: GNU General Public License v2.0

CMake 2.85% Go 72.92% C++ 1.53% C 0.83% HTML 15.79% JavaScript 3.24% CSS 2.84%

monero-stratum's Introduction

monero-stratum

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

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.10.3

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 https://github.com/monero-project/monero.git
cd monero
git checkout tags/v0.10.3.1 -b v0.10.3.1
cmake -DBUILD_SHARED_LIBS=1 .
make

Install Golang and required packages:

sudo apt-get install golang
export GOPATH=~/go
go get github.com/goji/httpauth
go get github.com/yvasiyarov/gorelic
go get github.com/gorilla/mux

Clone stratum:

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

Build stratum:

MONERO_DIR=/path/to/monero cmake .
make
go build -o pool main.go

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 https://github.com/monero-project/monero.git
cd monero
git checkout tags/v0.10.3.1 -b v0.10.3.1
cmake .
make

Install Golang and required packages:

brew update && brew install go
export GOPATH=~/go
go get github.com/goji/httpauth
go get github.com/yvasiyarov/gorelic
go get github.com/gorilla/mux

Clone stratum:

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

Build stratum:

MONERO_DIR=/path/to/monero cmake .
make
go build -o pool main.go

Running Stratum

./pool 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' pool

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": "46BeWrHpwXmHDpDEUmZBWZfoQpdc6HaERCNmx1pEYL2rAcuwufPN9rXHHtyUA4QVy66qeFQkn6sfK8aHYjA3jk3o1Bv16em",
  // 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"
    }
  ]
}

Donations

Donations are welcome.

XMR: 4Aag5kkRHmCFHM5aRUtfB2RF3c5NDmk5CVbGdg6fefszEhhFdXhnjiTCr81YxQ9bsi73CSHT3ZN3p82qyakHwZ2GHYqeaUr

License

Released under the GNU General Public License v2.

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

monero-stratum's People

Contributors

sammy007 avatar

Watchers

James Cloos 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.