Установка нод для соло майнинга — реальный опыт
🌈

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+.

✅ Преимущества Spiral Pool: Docker развёртывание, встроенный веб-интерфейс, поддержка ZMQ для низкой задержки, активная разработка.

⚙ Архитектура — как это работает

Antminer L3+ (192.168.0.95)
    |
    | Stratum протокол
    ↓
Spiral Pool (Docker, stratum порт 8335)
    |
    | ZMQ (порт 28332) — задержка 13-25ms
    ↓
DOGE нода (Docker doge-custom-zmq, RPC 22555)
    |
    | P2P
    ↓
Dogecoin сеть (500 пиров, патч MAX_OUTBOUND=500)
ℹ ZMQ (Zero Message Queue) — это механизм уведомлений. Нода мгновенно сообщает пулу о новом блоке через ZMQ, а не через polling. Это снижает задержку с секунд до миллисекунд — критично для соло майнинга.

🐱 Шаг 1: DOGE нода с ZMQ и патчем

Обычная DOGE нода не подойдёт — нужна кастомная сборка с ZMQ и патчем на 500 пиров. Я собрал свой Docker образ doge-custom-zmq.

1Создаём Docker сеть для пула:

zombak@server:~$ docker network create spiralpool-network

2Dockerfile для кастомной DOGE ноды:

~/doge-custom-zmq/Dockerfile:
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 build -t doge-custom-zmq ~/doge-custom-zmq/
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 работает:

zombak@server:~$ docker exec doge-node dogecoin-cli -rpcuser=dogeuser -rpcpassword=dogepass123 getzmqnotifications
[{"type":"pubhashblock","address":"tcp://0.0.0.0:28332","hwm":1000}]
⚠ Синхронизация DOGE блокчейна займёт несколько часов. Размер ~80GB. Нужен быстрый SSD и хорошее интернет-соединение.
✅ 500 пиров дают латентность ~25ms. Это важно — ты узнаёшь о новом блоке раньше других майнеров и быстрее начинаешь работу над следующим.

💾 Шаг 2: Установка Spiral Pool

1Клонируем репозиторий:

zombak@server:~$ git clone https://github.com/spiral-pool/spiral-pool.git ~/spiral-pool-doge
zombak@server:~$ cd ~/spiral-pool-doge

2Создаём папку для конфига:

zombak@server:~$ mkdir -p ~/spiral-pool-doge/docker/config

⚙ Шаг 3: Конфигурация

Создаём основной конфиг пула:

~/spiral-pool-doge/docker/config/config.yaml:

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
ℹ Ключевой момент: host: "doge-node" — это имя Docker контейнера ноды. Spiral Pool и DOGE нода должны быть в одной Docker сети (spiralpool-network), тогда они видят друг друга по имени контейнера.

▶ Шаг 4: Запуск

1Запускаем Spiral Pool через Docker Compose:

zombak@server:~$ cd ~/spiral-pool-doge/docker
zombak@server:~$ docker compose up -d

Или через PM2 если не используешь Docker Compose:

zombak@server:~$ cd ~/spiral-pool-doge && npm install
zombak@server:~$ pm2 start src/index.js --name spiralpool-stratum

2Проверяем что пул запустился:

zombak@server:~$ docker ps | grep spiral
spiralpool-stratum Up 2 hours 0.0.0.0:8335->8335/tcp

# Или через PM2:
zombak@server:~$ pm2 logs spiralpool-stratum --lines 20

3Если пул упал — перезапуск:

zombak@server:~$ sudo docker restart spiralpool-stratum
✅ Пул автоматически получает новые блоки через ZMQ и мгновенно раздаёт новую работу майнерам. Задержка 13-25ms — это очень хорошо для соло.

⚡ Шаг 5: Подключение майнера

Настройка Antminer L3+ для подключения к своему пулу:

В веб-интерфейсе L3+ (Miner Configuration → Pools):

Pool 1:
URL: stratum+tcp://192.168.0.22:8335
Worker: ВАШ_DOGE_АДРЕС.L3plus
Password: x
ℹ Используй локальный IP сервера (192.168.0.22), а не localhost — майнер это отдельное устройство в сети.

Для cgminer/bfgminer через командную строку:

cgminer -o stratum+tcp://192.168.0.22:8335 \
  -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:

# PM2 процесс doge-notify отправляет в ntfy:
zombak@server:~$ pm2 list | grep doge-notify
doge-notify online 0% ... ntfy topic: doge_zombiepool_blocks
✅ BestShare показывает насколько близко ты подобрался к блоку. У меня BestShare 431M+ — это значит были очень близкие шары. Продолжаем майнить!

[ ВОПРОСЫ И КОММЕНТАРИИ ]

Есть вопросы по установке Spiral Pool? Пиши — отвечу из личного опыта.

✅ Отправлено! Отвечу в ближайшее время.
spiral pool dogecoin doge solo scrypt pool docker mining pool zmq antminer l3+ solo mining