Giter VIP home page Giter VIP logo

stratum-mining-proxy's Introduction

stratum-mining-proxy

Application providing HTTP/getwork protocol <--> Stratum and Stratum/LTC mining protocols bridge

Installation on Windows

  1. Download official Windows binaries (EXE) from http://pool.itzod.ru/mining_proxy.exe or http://ltcmine.ru/mining_proxy.exe
  2. Open downloaded file. It will open console window. Using default settings, proxy connects to Itzod's mining pool (or ltcmine pool, if -pa scrypt was specified)
  3. If you want to connect to another pool or change other proxy settings, type "mining_proxy.exe --help" in console window.

Installation using Github on Debian/Ubuntu

This is advanced option for experienced users, but give you the easiest way for updating the proxy.

Install with the auto install script

curl "https://raw.github.com/CryptoManiac/stratum-mining-proxy/master/auto_install.sh" | sudo sh

To install line-by-line

# Python and libssl development packages are required
sudo apt-get install -y git-core python-dev libssl-dev
git clone https://github.com/CryptoManiac/stratum-mining-proxy.git
cd stratum-mining-proxy

# This will upgrade setuptools package
sudo python distribute_setup.py

# Build and install LTC scrypt extension
cd litecoin_scrypt
sudo python setup.py install
cd ..

# This will install required dependencies (namely Twisted and Stratum libraries), but don't install the package into the system.
sudo python setup.py develop

You can start the Stratum proxy by typing ./mining_proxy.py in the terminal window. Using default settings, it connects to Itzod's mining pool.

Also you have ability to start Stratum/LTC proxy by typing ./mining-proxy.py -pa scrypt. Using default settings, it connects to LTCMine mining pool.

If you want to connect to another pool or change other proxy settings, type ./mining_proxy.py --help.

If you want to update the proxy, type git pull in the package directory.

Compiling midstate C extension

For some really big operations using getwork interface of this proxy, you'll find useful "midstatec" C extension, which significantly speeds up midstate calculations (yes, plain python implementation is so slow). For enabling this extension, just type "make" in midstatec directory. Proxy will auto-detect compiled extension on next startup.

Contact

This proxy is provided by Slush's mining pool at http://mining.bitcoin.cz. You can contact the author by email info(at)bitcoin.cz or by IRC on irc.freenode.net in channel #stratum.

This proxy was modified to add support of Stratum/LTC mining protocol. Modifications implemented by LTCMine.ru and pool.itzod.ru minings pools administrator, you can ask your questions by email balthazar(at)yandex.ru or PM at btc-e.com exchange.

stratum-mining-proxy's People

Contributors

cryptomaniac 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

Watchers

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

stratum-mining-proxy's Issues

pyOpenSSL related issue

When executing "python setup.py develop" there are an error message raised by pyOpenSSL: #include <openssl\ssl.h> : file no found

To fix this issue is enough to install python-openssl package.

Please, verify this issue and fix auto_install.sh.

Exception happens when a connection is accepted

I always get this message when a connection is done to the proxy:

2013-11-29 20:40:40,040 INFO proxy mining_proxy.on_connect # Subscribing for mining jobs
2013-11-29 20:40:40,053 INFO proxy mining_proxy.main # -----------------------------------------------------------------------
2013-11-29 20:40:40,053 INFO proxy mining_proxy.main # PROXY IS LISTENING ON ALL IPs ON PORT 9000 (stratum) AND 8332 (getwork)
2013-11-29 20:40:40,053 INFO proxy mining_proxy.main # -----------------------------------------------------------------------
2013-11-29 20:40:40,054 INFO proxy client_service.handle_event # Setting new difficulty: 63
2013-11-29 20:40:40,059 INFO proxy client_service.handle_event # New job 1757 for prevhash 63c7628a, clean_jobs=True
2013-11-29 20:40:44,660 INFO stats stats.print_stats # 2 peers connected, state changed 1 times
2013-11-29 20:40:44,663 ERROR protocol protocol.process_failure # [Failure instance: Traceback: <type 'exceptions.TypeError'>: subscribe() takes exactly 1 argument (3 given)
/usr/lib/python2.6/site-packages/stratum-0.2.12-py2.6.egg/stratum/protocol.py:185:dataReceived
/usr/lib/python2.6/site-packages/stratum-0.2.12-py2.6.egg/stratum/protocol.py:230:lineReceived
/usr/lib/python2.6/site-packages/stratum-0.2.12-py2.6.egg/stratum/services.py:13:_handle_event
/usr/lib/python2.6/site-packages/stratum-0.2.12-py2.6.egg/stratum/services.py:81:call
--- ---
/usr/lib/python2.6/site-packages/Twisted-13.2.0-py2.6-linux-x86_64.egg/twisted/internet/defer.py:139:maybeDeferred
/usr/lib/python2.6/site-packages/stratum-0.2.12-py2.6.egg/stratum/services.py:78:_run
/usr/lib/python2.6/site-packages/Twisted-13.2.0-py2.6-linux-x86_64.egg/twisted/internet/defer.py:1228:unwindGenerator
]
None
2013-11-29 20:40:44,673 INFO stats stats.print_stats # 3 peers connected, state changed 1 times
2013-11-29 20:40:44,677 ERROR protocol protocol.process_failure # [Failure instance: Traceback: <type 'exceptions.TypeError'>: subscribe() takes exactly 1 argument (3 given)
/usr/lib/python2.6/site-packages/stratum-0.2.12-py2.6.egg/stratum/protocol.py:185:dataReceived
/usr/lib/python2.6/site-packages/stratum-0.2.12-py2.6.egg/stratum/protocol.py:230:lineReceived
/usr/lib/python2.6/site-packages/stratum-0.2.12-py2.6.egg/stratum/services.py:13:_handle_event
/usr/lib/python2.6/site-packages/stratum-0.2.12-py2.6.egg/stratum/services.py:81:call
--- ---
/usr/lib/python2.6/site-packages/Twisted-13.2.0-py2.6-linux-x86_64.egg/twisted/internet/defer.py:139:maybeDeferred
/usr/lib/python2.6/site-packages/stratum-0.2.12-py2.6.egg/stratum/services.py:78:_run
/usr/lib/python2.6/site-packages/Twisted-13.2.0-py2.6-linux-x86_64.egg/twisted/internet/defer.py:1228:unwindGenerator
]
None

Setting New Difficulty Every Share! (Same One)

The stratum proxy protocol sets new difficulty every share (Same)

It looks like this

Setting New Difficulty: 32
Share Accepted
Setting New Difficulty: 32
Share Accepted

I know it can be a pool problem but adding some small check to stratum_listener.py inside class DifficultySubscription(Subscription): to compare the difficulty if the same don't have to set the difficulty should fix this. I don't know programming I just was able to analyze the issue, Can anyone code this?

Insert data to mysql

Is it possible to record information on production in mysql, work has been accepted or not, and technical information? How to do it? It is advisable not once, but several batches of transactions.
Help us to please.

Question

Hello,

I have been testing slush0 fork and it seems to work with litecoin (tested on wemineltc). Do you mind explaining what's the difference with this fork? I saw the scrypt files but I don't really understand what your fork changes here can I use slush0 as well? Also using your fork I have saw that the difficulty is not reduced it starts with " Setting new difficulty: 95" and stays this difficulty (I have choosen 8-64 on WeMineLTC) and With slush0 it starts with 95 and slowly reduced. After 30mins I get to around 8 diffculty. But not with your fork is this a bug?

make midstate fails on osx

make
gcc -march=native -Wall -funroll-all-loops -O3 -fstrict-aliasing -Wall -std=c99 -I/usr/include/python2.7 midstatemodule.c -o test -Wl,-O1 -Wl,--as-needed -lpython2.7
midstatemodule.c:1: error: bad value (native) for -march= switch
midstatemodule.c:1: error: bad value (native) for -mtune= switch
make: *** [test] Error 1

Stratum host/port autodetection failed

Do I need to worry about this error?
It occurs on start up.

2013-10-15 21:30:00,653 ERROR proxy mining_proxy.main # Stratum host/port autodetection failed
Traceback (most recent call last):
  File "/usr/local/stratumproxy/mining_proxy.py", line 155, in main
    new_host = (yield utils.detect_stratum(args.host, args.port))
AttributeError: 'module' object has no attribute '_parse'

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.