ethereum getwork proxy written in go for mpos pools
Go
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE
README.md first commit Sep 11, 2015
pool.go

README.md

MPOS Compatability

I (ocminer) removed levelDB and added MySQL / MariaSQL support to this branch of ethpool-go. Furthermore the shares are inserted into MySQL so that a MPOS based pool can work with those shares. You still have to modify MPOS to get the RPC working with ETH/GETH - contact me in case of questions (my address is admin at suprnova dot cc) Donations are welcome to 1MGHzDcTCmjSDcmJ4NurjN99WM87PoZ68M (BTC)

The rest of this README is from the original ethpool/leveldb implementation:

Introduction

We have decided to open source our implementation of pooled mining for Ethereum. This software is not a complete mining pool. It only takes care of work distribution and share validation; valid shares are stored into a local database (LevelDB). Reward calculation and payments are not yet implemented but it should be possible to connect this software some of the existing open source mining pools.

Performance

While the current implementation in go might not be the most effective one, the pool was able to process ~600 workers at 30% CPU utilization (1 core) and 70MB RAM usage.

Supported clients

The pool has been tested successfully with both the go Ethereum client (geth) and the cpp Ethereum client (eth).

Pull requests & possible optimizations

If you find any issues with the pool software please feel free to issue a pull request.

If you want to improve the pool, implementing the connection to geth via IPC instead of HTTP would be a good start.

Setup guide (Ubuntu 14.04)

  • Install go according to https://github.com/ethereum/go-ethereum/wiki/Installing-Go#ubuntu-1404
  • Put the pool.go file into your gopath
  • Run go get to download the dependencies
  • Adjust the ports to match your environment (poolPort and ethereumPort)
  • Start your Ethereum client & enable RPC
  • Run go build pool.go
  • Start the pool server ./pool
  • Point your miner to http://ip:port/<account>.<worker>/<hashrate>

Donations

Donations are always welcome:

BTC: 37rfj6oPJmnEDHTnUxvsUEmF4CnqofgWJr

ETH: 0xc5d2dd8b399b67d857ed6d91bbe26f0702f7cd34