Spiral Pool — соло пул для Dogecoin (DOGE)
Современный открытый пул на Node.js. Docker развёртывание. ZMQ для минимальной задержки.
Scrypt • Stratum порт 8335 • Docker • Реальный опыт
🌈 Что такое Spiral Pool
Spiral Pool — современный открытый пул для майнинга криптовалют на Node.js. Поддерживает множество алгоритмов, работает в Docker, имеет встроенный веб-интерфейс.
Я поднял его для соло майнинга DOGE на Antminer L3+. Работает стабильно, ZMQ обеспечивает задержку 13-25ms между нодой и пулом. BestShare уже 431M+.
⚙ Архитектура — как это работает
|
| Stratum протокол
↓
Spiral Pool (Docker, stratum порт 8335)
|
| ZMQ (порт 28332) — задержка 13-25ms
↓
DOGE нода (Docker doge-custom-zmq, RPC 22555)
|
| P2P
↓
Dogecoin сеть (500 пиров, патч MAX_OUTBOUND=500)
🐱 Шаг 1: DOGE нода с ZMQ и патчем
Обычная DOGE нода не подойдёт — нужна кастомная сборка с ZMQ и патчем на 500 пиров. Я собрал свой Docker образ doge-custom-zmq.
1Создаём Docker сеть для пула:
2Dockerfile для кастомной DOGE ноды:
FROM ubuntu:22.04
RUN apt-get update && apt-get install -y \
build-essential git cmake libboost-all-dev \
libssl-dev libzmq3-dev libevent-dev \
libminiupnpc-dev libnatpmp-dev pkg-config
RUN git clone https://github.com/dogecoin/dogecoin.git /dogecoin
WORKDIR /dogecoin
# Патч: увеличиваем лимит пиров с 8 до 500
RUN sed -i 's/MAX_OUTBOUND_FULL_RELAY_CONNECTIONS = 8/MAX_OUTBOUND_FULL_RELAY_CONNECTIONS = 500/' \
src/net.h
RUN ./autogen.sh && ./configure --with-zmq --without-gui && make -j4
RUN make install
EXPOSE 22555 22556 28332
CMD ["dogecoind", "-daemon=0", "-zmqpubhashblock=tcp://0.0.0.0:28332", \
"-zmqpubrawblock=tcp://0.0.0.0:28332", "-rpcallowip=0.0.0.0/0", \
"-rpcbind=0.0.0.0", "-rpcport=22555", "-rpcuser=dogeuser", \
"-rpcpassword=dogepass123"]
3Собираем и запускаем:
zombak@server:~$ docker run -d --name doge-node \
--network spiralpool-network \
-p 22555:22555 -p 22556:22556 -p 28332:28332 \
-v ~/.dogecoin:/root/.dogecoin \
doge-custom-zmq
4Проверяем что ZMQ работает:
[{"type":"pubhashblock","address":"tcp://0.0.0.0:28332","hwm":1000}]
💾 Шаг 2: Установка Spiral Pool
1Клонируем репозиторий:
zombak@server:~$ cd ~/spiral-pool-doge
2Создаём папку для конфига:
⚙ Шаг 3: Конфигурация
Создаём основной конфиг пула:
pool:
name: "My DOGE Solo Pool"
address: "ВАШ_DOGE_АДРЕС"
fee: 0
coin:
name: "dogecoin"
algorithm: "scrypt"
daemon:
host: "doge-node" # имя Docker контейнера
port: 22555
user: "dogeuser"
password: "dogepass123"
zmq:
enabled: true
host: "doge-node"
port: 28332
stratum:
port: 8335
difficulty: 2048
varDiff: true
solo:
enabled: true
▶ Шаг 4: Запуск
1Запускаем Spiral Pool через Docker Compose:
zombak@server:~$ docker compose up -d
Или через PM2 если не используешь Docker Compose:
zombak@server:~$ pm2 start src/index.js --name spiralpool-stratum
2Проверяем что пул запустился:
spiralpool-stratum Up 2 hours 0.0.0.0:8335->8335/tcp
# Или через PM2:
zombak@server:~$ pm2 logs spiralpool-stratum --lines 20
3Если пул упал — перезапуск:
⚡ Шаг 5: Подключение майнера
Настройка Antminer L3+ для подключения к своему пулу:
В веб-интерфейсе L3+ (Miner Configuration → Pools):
URL: stratum+tcp://192.168.0.22:8335
Worker: ВАШ_DOGE_АДРЕС.L3plus
Password: x
Для cgminer/bfgminer через командную строку:
-u ВАШ_DOGE_АДРЕС.worker1 -p x \
--scrypt
📈 Мониторинг и перезапуск
Проверка что всё живо:
zombak@server:~$ docker exec doge-node dogecoin-cli -rpcuser=dogeuser -rpcpassword=dogepass123 getblockcount
5800423
# Количество пиров:
zombak@server:~$ docker exec doge-node dogecoin-cli -rpcuser=dogeuser -rpcpassword=dogepass123 getconnectioncount
487
# Логи пула:
zombak@server:~$ pm2 logs spiralpool-stratum --lines 50
# Если нода зависла — перезапуск пула:
zombak@server:~$ sudo docker restart spiralpool-stratum
Уведомления о найденных блоках через ntfy.sh:
zombak@server:~$ pm2 list | grep doge-notify
doge-notify online 0% ... ntfy topic: doge_zombiepool_blocks
[ ВОПРОСЫ И КОММЕНТАРИИ ]
Есть вопросы по установке Spiral Pool? Пиши — отвечу из личного опыта.