В настоящее время существует несколько вариантов прокси-серверов. Помимо исходного прокси-сервера, существуют также прокси-серверы для перевода Stratum V2 и Stratum V1 для совместного использования. Например, вы можете запустить реализацию Stratum V2 на своих устройствах и по-прежнему подключаться к пулу, в котором есть только Stratum V1, с помощью прокси-сервера трансляции V2 -> V1. Эти прокси можно найти в Braiins repository.

Документация по исходному прокси-серверу Stratum (V1) приведена ниже.

Обзор

Прокси-сервер для майнинга Stratum позволяет программному обеспечению для майнинга, поддерживающему старый протокол Getwork, использовать современный протокол майнинга Stratum, предоставляемый нашим пулом.

Однако мы считаем, что вам следует знать некоторые основные факты и причины. Старый протокол Getwork был разработан как простое решение для автономных майнеров в те времена, когда не было пулов для майнинга, а у майнинговых установок был хешрейт всего несколько GHash в секунду. Тогда этого было достаточно, но ситуация в корне изменилась. На момент написания этой документации вы легко можете получить майнер, способный производить десятки TH/s (и это обязательно увеличится в будущем)! Такая производительность потребует значительно большей пропускной способности сети на стороне пользователя и до смехотворного - на стороне сервера (представьте несколько сотен пользователей, каждый из которых опрашивает сервер для работы).

Протокол Stratum снижает нагрузку на сеть и значительно улучшает производительность майнера в более медленных и нестабильных сетях..

Преимущества для пользователей

Больше никаких сообщений "Пул не обеспечивает достаточно быструю работу" в программном обеспечении для майнинга.

Чрезвычайно низкий процент просроченных решений (менее 0,1%, что означает менее 1 просроченных решений на 1000 принятых акций).

Очень низкая пропускная способность сети (~10 КБ/мин).

Примечания к расширениям Stratum

Чтобы работать с BOSminer (наша замена CGminer), необходимо включить расширения stratum:

--enable-stratum-extensions

Установка с помощью Docker

Это работает в любой системе с Docker (Linux / Mac / Windows) и не требует ничего, кроме Git и Docker.

1. Скачайте и извлеките исходники для прокси (здесь).

2. Выполните следующие команды одну за другой:

cd stratum-mining-proxy
docker build -t stratum-mining-proxy

3. Выполните в интерактивном режиме (interactively).

docker run -it --rm -p 3333:3333 stratum-mining-proxy -o us-east.stratum.slushpool.com -p 3333 -sh 0.0.0.0 -sp 3333 --enable-stratum-extensions

4. Выполните как службу (as a service).

docker run -d --name stratum-mining-proxy --restart unless-stopped -p 3333:3333 stratum-mining-proxy -o us-east.stratum.slushpool.com -p 3333 -sh 0.0.0.0 -sp 3333 --enable-stratum-extensions

Установка на Linux с помощью Git

Это расширенный вариант для опытных пользователей, но он дает вам самый простой способ обновить прокси.

1. Установите python2 и python2-virtualenv для вашего дистрибутива.

2. Скачайте и извлеките исходники для прокси (здесь).

3. Скачайте stratum dependency.

git clone git://github.com/braiins/stratum.git

4. Выполните следующие команды одну за другой:

cd stratum-mining-proxy
virtualenv .env --python=/usr/bin/python2.7
. .env/bin/activate
python -m pip install PyInstaller==3.6
python -m pip install -e ../stratum
pyinstaller -F mining_proxy.py --name stratum-mining-proxy

5. Бинарный файл результата находится в:

dist/stratum-mining-prox

Устранение неисправностей: установка на Ubuntu/RaspberryPi

Похоже, есть проблемы со сборкой pyinstaller с компилятором GCC по умолчанию на RaspberryPi.

1. Установите python2 и python2-virtualenv для вашего дистрибутива.

2. Скачайте и извлеките исходники для прокси (здесь).

3. Выполните следующие команды одну за другой:

git clone git://github.com/braiins/stratum.git
cd stratum-mining-proxy
virtualenv .env --python=/usr/bin/python2.7
. .env/bin/activate

4. Соберите PyInstaller вручную. Введите следующие команды одну за другой:

sudo apt-get install clang
git clone https://github.com/pyinstaller/pyinstaller.git
cd pyinstaller/bootloader/
python ./waf all --target-arch=32bit --clang
sudo apt-get remove clang # remove the clang, it is not needed anymore
cd ..
python setup.py install
cd ..

5. Выполните следующие команды одну за другой:

python -m pip install -e ../stratum
mkdir -p .env/local/include/python2.7
ln -s /usr/include/python2.7/pyconfig.h .env/local/include/python2.7/pyconfig.h
pyinstaller -F mining_proxy.py --name stratum-mining-proxy

6. Бинарный файл результата находится в:

dist/stratum-mining-proxy

Установка на Arch Linux

1. Выполните следующие команды одну за другой:

git clone https://aur.archlinux.org/stratum-mining-proxy.git
cd stratum-mining-proxy
makepkg -sri

2. Затем выполните:

stratum-mining-proxy -o us-east.stratum.slushpool.com -p 3333 -sh 0.0.0.0 -sp 3333 --enable-stratum-extensions

Установка на Windows

1. Загрузите официальные двоичные файлы Windows (EXE) здесь

2. Откройте загруженный файл. Он откроет окно консоли с настройками по умолчанию (прокси подключается к интерфейсу Slush Pool)

Если вы опытный пользователь, вы можете настроить прокси для майнинга как услугу, следуя этим инструкциям: proxyminer.blogspot.cz.

Установка на Mac

Предварительные условия:

В Mac OS X у вас уже установлен Python в вашей системе, но у вас, вероятно, нет двоичного файла llvm-gcc-4.2, необходимого для запуска файла setup.py. У вас есть два варианта

1. 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".

2. 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:

1. Скачать файл TGZ здесь.

2. Откройте приложение терминала (Applications → Utilities → Terminal) и перейдите в каталог, содержащий файл, который вы только что загрузили (например:  cd ~/Downloads).

3. Выполните следующие команды одну за другой:

tar xf slush0-stratum-mining-proxy*.tar.gz
sudo python setup.py install

4. Теперь вы можете запустить прокси, набрав

./mining_proxy.py

(при условии, что вы находитесь в каталоге, в котором вы установили свою копию прокси).

Обратите внимание, что как только Apple выпустит Xcode 4.7, они удалят необязательную установку gcc (они хотят, чтобы вы использовали clang). Когда это произойдет, вы можете либо отказаться от обновления, либо вернуться к вышеупомянутому osx-gcc-installer и загрузить конкретный двоичный файл gcc для вашей версии Mac OS.