Need help with monero-stratum?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

sammy007
435 Stars 198 Forks GNU General Public License v2.0 124 Commits 3 Opened issues

Description

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

Services available

!
?

Need anything else?

Contributors list

# 15,984
Shell
HTML
Go
pool
118 commits
# 24,252
Shell
c-plus-...
monero
q
3 commits
# 337,885
HTML
JavaScr...
Shell
stratum
2 commits

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.