Ahora existen múltiples opciones para los proxy de Stratum. Además del proxy de estrato original, también hay proxies de traducción para Stratum V2 y Stratum V1 que se utilizarán juntos. Por ejemplo, puede ejecutar una implementación de Stratum V2 en sus dispositivos de minería y aún así conectarse a un grupo que solo tiene Stratum V1 utilizando un proxy de traducción V2 -> V1. Estos proxies se pueden encontrar en el repositorio de Braiins..

La documentación del proxy Stratum (V1) original se encuentra a continuación.

Visión general

El proxy de minería Stratum permite que el software de minería compatible con el antiguo protocolo Getwork utilice el protocolo de minería Stratum moderno proporcionado por nuestro pool.

Sin embargo, creemos que debe conocer algunos hechos y razones básicas. El antiguo protocolo Getwork se diseñó como una solución fácil para los mineros independientes en tiempos en los que no había pools de minería y las plataformas de minería tenían solo unos pocos GHash por segundo  de tasa de hash. En ese entonces, era lo suficientemente bueno para salir adelante, pero la situación ha cambiado radicalmente. En el momento de escribir esta documentación, puede obtener fácilmente un minero que sea capaz de producir docenas de TH/s (¡y esto seguramente aumentará en el futuro)! Tal rendimiento requeriría un ancho de banda de red considerablemente mayor en el lado del usuario (~ 1428 solicitudes de getwork a la vez) y ridículamente grande en el lado del servidor (imagínese unos pocos cientos de usuarios, cada uno de los cuales sondear el servidor en busca de trabajo).

El protocolo Stratum reduce la carga de la red y mejora significativamente el rendimiento de los mineros en redes más lentas e inestables.

Ventajas para los usuarios

No más mensajes de "Pool no está proporcionando trabajo lo suficientemente rápido" en el software de minería.
Tasa de obsolescencia extremadamente baja(menos del 0,1%, lo que significa menos de 1 obsoleta por cada 1000 acciones aceptadas).
Uso de ancho de banda de red muy bajo (~ 10kB/minuto).

Notas sobre las extensiones de Stratum

Para operar en BOSminer (nuestro reemplazo de CGminer), las extensiones de stratum deben estar habilitadas:

--enable-stratum-extensions

Instalación usando Docker

Esto funciona en cualquier sistema con Docker (Linux / Mac / Windows) y no necesita nada más que Git y Docker.

1. Descargue y extraiga fuentes para proxy (aquí).

2. Ejecute los siguientes comandos uno por uno:

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

3. Ejecutar interactivamente

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. Ejecutar como servicio 

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

Instalación en Linux usando Git

Esta es una opción avanzada para usuarios experimentados, pero le brinda la forma más fácil de actualizar el proxy.

1. Instale python2 y python2-virtualenv para su distribución

2. Descargue y extraiga fuentes para proxy (aquí).

3. Descarga la dependencia del stratum

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

4. Ejecute los siguientes comandos uno por uno:

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. El binario resultante está en:

dist/stratum-mining-prox

TSolución de problemas: instalación en Ubuntu / RaspberryPi

Parece haber problemas con la construcción de pyinstaller con el compilador predeterminado GCC en RaspberryPi.

1. Instale  python2 y python2-virtualenv para su distribución

2. Descargue y extraiga fuentes para proxy (aquí).

3. Ejecute los siguientes comandos uno por uno:

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

4. Construya manualmente PyInstaller. Ingrese los siguientes comandos uno por uno:

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. Ejecute los siguientes comandos uno por uno:

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. El binario resultante está en:

dist/stratum-mining-proxy

Instalación en Arch Linux

1. Ejecute los siguientes comandos uno por uno:

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

2. Luego ejecute:

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