Stratum Mining Proxy

Overview

Stratum mining proxy allows mining software supporting the old Getwork protocol to use modern Stratum mining protocol provided by our pool.

We will not cover full technical details and reasoning for designing the Stratum protocol here. If you are looking for those, please find your way over here.

We do however believe that you should know some basic facts and reasons. The old Getwork protocol was designed as an easy solution for standalone miners in times, where there was no mining pool and mining rigs had just about few GHash per second. Back then it was just good enough to get by, but the situation has changed radically. Now you can easily get miner which is capable of producing even 6 THash/s. Such performance would require a considerably great network bandwidth on user side (~1428 getwork requests at once) and ridiculously great one on the server side (imagine few hundred users, each polling the server for work).

Stratum protocol reduces network load and significantly improves miner performance on slower and unstable networks.

Advantages for Users

  • No more "Pool is not providing work fast enough" messages in mining software
  • Extremely low stale rate (less than 0.1%, that means below 1 stale per 1000 accepted shares)
  • Very low network bandwidth usage (~10kB/minute)

Installation on Windows

  • Download official Windows binaries (EXE) from here
  • Open downloaded file. It will open console window using default settings (proxy connects to Slush's pool interface)

Installation on Linux (Ubuntu / Debian)

  • Download TGZ file from here
  • Open your terminal application (ctrl + alt + T on Ubuntu) and get to directory containing file you have just downloaded (eg. cd ~/Downloads)
  • Enter following commands one by one:
    sudo apt-get install python-dev libssl-dev
    
    tar xf slush0-stratum-mining-proxy*.tar.gz
    
    cd slush0-stratum-mining-proxy*
    
    sudo python setup.py install
  • Now you can start the proxy by typing ./mining_proxy.py in the terminal window (provided you are in directory where you have installed your copy of the proxy).

Installation on Mac

Prerequisites:

On Mac OS X you already have Python installed on your system, but you probably do not have the llvm-gcc-4.2 binary required to run the setup.py file. You have two options here:

  • Download Xcode (free) from the App Store, Open it up (it's in your applications folder) and go to preferences → downloads section and download/install the "command line tools".
  • If you don't want to install Xcode, get osx-gcc-installer here

Now if you have installed GCC, you can procede with following steps:

  • Download TGZ file from here
  • Open your terminal application (Applications → Utilities → Terminal) and get to directory containing file you have just downloaded (eg.: cd ~/Downloads)
  • Enter following commands one by one:
    tar xf slush0-stratum-mining-proxy*.tar.gz
    
    sudo python setup.py install
  • Now you can start the proxy by typing ./mining_proxy.py (provided you are in directory where you have installed your copy of the proxy)

Please note, that once Apple releases Xcode 4.7 they will remove the optional install of gcc (they want you to use clang). When that happens you can either choose not to upgrade, or return to the aforementioned osx-gcc-installer and download the specific gcc binary for your version of Mac OS.

Installation on Linux Using Git (Advanced)

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

git clone git://github.com/slush0/stratum-mining-proxy.git

cd stratum-mining-proxy

sudo su -

# Development package of Python is necessary
sudo apt-get install python-dev

# Upgrade setuptools package
sudo python distribute_setup.py

# Install required dependencies (namely Twisted and Stratum libraries)
sudo python setup.py develop

# Start the proxy
./mining_proxy.py

# Update the proxy
git pull

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 (plain python implementation is very slow).

To enable this extension, just type make in midstatec subdirectory. Proxy will auto-detect compiled extension on next startup.

Feedback   Old web skin   Back to Top   

Follow us on Twitter and Facebook. BTC prices provided by BitcoinAverage Price Index

Navigate through Help Pages
Topic: 1 / 5
Walk through the topics on this page
ESC, Click on background: Close the screen | Left / Right keys: Navigate the topics