В настоящее время существует несколько вариантов прокси-серверов. Помимо исходного прокси-сервера, существуют также прокси-серверы для перевода 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