Skip to main content

Ethereum stratum proxy

Project description

https://img.shields.io/pypi/v/ethproxy.svg https://img.shields.io/travis/narfman0/ethproxy.svg

Description

This is Stratum Proxy for Ethereum based pools (RPCv2) using asynchronous networking written in Python Twisted.

NOTE This fork is still in development. Some features may be broken. Please report any broken features or issues.

Features

  • Additional up to 20% increase of earning compared to standard pools

  • ETH stratum proxy

  • Automatically failover via proxy

  • Only one connection to the pool

  • Workers get new jobs immediately

  • Submit of shares without network delay, it’s like solo-mining but with benefits of professional pool

  • Central Wallet configuration, miners doesn’t need wallet as username

  • Support monitoring via email

  • Bypass worker_id for detailed statistic and per rig monitoring

  • pass submitHashrate to pool

  • Fast deployment through Docker

How it works

Example:

rig1 ---- rig2 ---- rig3
            |
        stratum proxy (ethproxy)
        |          |
    Pool A      Pool B
   (Active)   (Failover)

Configuration

  • ethproxy/settings.py contains settings, all of which can be set via environment variables

Command line start

Recommended farm-recheck to use with stratum-proxy is 200:

./ethminer --farm-recheck 200 -G -F http://127.0.0.1:8080/rig1

Proxy working check

  • To check that proxy works open in browser http://127.0.0.1:8080/ (or your changed ip and port from config)

  • If you see “Ethereum stratum proxy” and some infos about connections.

  • If not then mostly case that you have application running on this port, at example Antivirus.

Requirements

eth-proxy is built in python. The requirements for running the software are below.

  • Python 2.7+, 3.6+

  • python-twisted

Installation

[Linux]

With python (and pip) installed, use pip to install:

pip install ethproxy

Start proxy with:

ethproxy

[Windows]

This are old directions, might be easier to pip install but twisted has native dependencies so good luck with that :)

Download compiled version https://github.com/Atrides/eth-proxy/releases

Or use python source code

1) Download Python Version 2.7.14 (or greater) for Windows https://www.python.org/downloads/

  1. Modify PATH variable (how-to http://www.java.com/en/download/help/path.xml) and add C:Python27;C:Python27Scripts;

3) Install python setuptools https://pypi.python.org/pypi/setuptools/#windows-7-or-graphical-install

4) Install Python-Twisted https://pypi.python.org/pypi/Twisted/15.4.0 File Twisted-15.4.0.win32-py2.7.msi (32bit) or Twisted-15.4.0.win-amd64-py2.7.msi (64bit)

  1. Install zope.interface, in console run:

    pip install -U zope.interface

6) Install PyWin32 v2.7 pywin32-219.win32-py2.7.exe or pywin32-219.win-amd64-py2.7.exe http://sourceforge.net/projects/pywin32/files/pywin32/

  1. Download eth-proxy. Extract eth-proxy.zip. Change settings and start with command:

    python xmr-proxy.py

[Docker]

Use this generic command line (conf references likely need to be updated with package refactor):

docker run -d -v CONFIG:/app/eth-proxy.conf -p PORT:8080 --name eth-proxy fmauneko/eth-proxy

Exemple:

docker run -d -v /srv/eth-proxy/eth-proxy.conf:/app/eth-proxy.conf -p 8080:8080 --name eth-proxy fmauneko/eth-proxy

TODO

  • lint and make python more happy

Credits

  • Atrides work

  • Original version by Slush0 (original stratum code)

  • More Features added by GeneralFault, Wadee Womersley and Moopless

License

Please see LICENSE for further info

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ethproxy-1.0.3.tar.gz (37.5 kB view details)

Uploaded Source

Built Distribution

ethproxy-1.0.3-py2.py3-none-any.whl (40.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ethproxy-1.0.3.tar.gz.

File metadata

  • Download URL: ethproxy-1.0.3.tar.gz
  • Upload date:
  • Size: 37.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ethproxy-1.0.3.tar.gz
Algorithm Hash digest
SHA256 8173ee2839bcbe6db9c8f557a4d67bae9e6f6326a61f11322411bbcfe0f7b890
MD5 e7260224bb3af54a11e6365b8927b74e
BLAKE2b-256 e4388f73d3d255ef881ee5fbcdfdd6232d0e835304c3e8b60d8dd35f2765e080

See more details on using hashes here.

File details

Details for the file ethproxy-1.0.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ethproxy-1.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7890b6e428096eab1f2ad644b20896a8ca9be4f3ae458cc26e022fa0402d26c7
MD5 9dcd4f3da396ccb9a33436b6ebbf5707
BLAKE2b-256 96a71080d3b9e2273beaadf8b0cd7929dda1d5d01cc9a31b06dffe032aa314ec

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page