Honestly, when you have as many miners as I do sometimes setting them up gets annoying. Imagine having to setup 20 or more ASIC blades. Having your own stratum proxy not only makes setup easier but stratum improves pool performance. Advantages of stratum is:
- No more messages like “pool is not providing work fast enough” in miners, because work is produced locally by the proxy
- Extremely low stale rate (less than 0.1%, that means below 1 stale per 1000 accepted shares)
- Very low network bandwidth usage (around 10kB/minute)
The best way to have your own proxy is to install it on a Raspberry Pi. They are inexpensive, low power and runs Linux. It doesn’t get any better than that. If you want more information about stratum read the great post on Slush’s website. http://mining.bitcoin.cz/stratum-mining
The following tutorial is a modified version of Slush’s tutorial for the Raspberry Pi.
What you will need:
- Raspberry Pi Model B
- SD Card With Linux installed(I recommend Occidentalis)
- Case for Pi
- Ethernet Cable
- Power Cable
- Putty or SSH Software
Get the Raspberry Pi set up and running your OS. You can follow the tutorials at Adafruit.
Alright, now its time to get to the meat of the tutorial. Open putty or ssh software and connect to your Pi. From here on its copy and paste. Pretty easy.
Lets start off with updating our Pi:
sudo apt-get update
This will download the files we need:
git clone git://github.com/slush0/stratum-mining-proxy.git
We now need to change to the directory where the files are located:
Now time to download development packages for Python:
sudo apt-get install python-dev
We need to upgrade setuptools package:
sudo python distribute_setup.py
This package needs to have Twisted install. Problem is we need Twisted for the Pi. So, we need to change some files:
sudo nano setup.py
'install_requires': ['setuptools>=0.6c11', 'twisted>=12.2.0', 'stratum>=0.2.11', 'argparse'],
'install_requires': ['setuptools>=0.6c11', 'stratum>=0.2.11', 'argparse'],
That will not install Twisted. You will not get an error saying you dont have enough space.
Now, we install Twisted for Pi.
sudo apt-get install python-twisted
Perfect, that should have installed twisted. We can now install the rest of the libraries:
sudo python setup.py develop
We are almost done. Time to install Screen. Screen allows us to continue running an SSH command even after we have disconnected.
sudo apt-get install screen
Lets start a Screen session. Its simple:
Press Enter or Space to bring up the command line.
Lets get back into the directory:
Last but not least lets run the script*:
That’s all. All you need to do is change your miner settings.
Point your miners to the Raspberry Pi ip address and port:
8332 is the default listen port.
*The script is for Slush’s pool. Not all of us mine his pool. If you need to change it its pretty simple. Instead of running:
./mining_proxy.py -o stratum.poolurl.com -p port -sp 3334 -gp 8332
Make sure you change “stratum.poolurl.com” to your pools URL and the port to the pool.
For example I am on Zetpool. I am using:
./mining_proxy.py -o us.stratum.zetpool.com -p 3333 -sp 3334 -gp 8332
That’s all folks. If you have any problems let me know. I will do my best to help. If you found this helpful please donate to keep the tutorials coming.