Автоматический скрипт для аренды GPU и CPU на платформе Clore.ai, предназначенный для добычи QTC (QuBitcoin). Этот инструмент, совместимый с Ubuntu 24.04 (включая Jupiter) и WSL на Windows, упрощает процесс настройки и повышает эффективность майнинга.
Что делает скрипт?
Скрипт автоматизирует настройку майнинга QTC, оптимально распределяя ресурсы между GPU и CPU. Ключевые особенности:
- Оптимизация ресурсов: Выделяет по два потока на каждый GPU, оставляя два потока свободными для работы системы. Оставшиеся потоки используются для майнинга на CPU.
- Уникальные воркеры: Каждый GPU и CPU регистрируется как отдельный воркер на пуле, что упрощает мониторинг производительности.
- Автоматическая нумерация: Воркеры получают имена на основе номеров ордеров аренды, что делает отслеживание удобным и прозрачным.
- Простая установка: Скрипт автоматически устанавливает необходимые зависимости, загружает майнеры и настраивает окружение.
Скрипт
#!/bin/sh
apt update -y
apt upgrade -y
apt install -y unzip libjansson-dev libcurl4 build-essential libtool autotools-dev automake pkg-config bsdmainutils python3 libevent-dev libboost-dev libsqlite3-dev libminiupnpc-dev libnatpmp-dev libzmq3-dev systemtap-sdt-dev
mkdir -p ~/qtc_miner
cd ~/qtc_miner
wget https://github.com/HenuZiO/qubitcoin-miner-cpu/releases/download/cpu-1.0.1/qubitcoin-miner-cpu.tar.gz
wget https://qubitcoin.luckypool.io/deps.zip
wget https://qubitcoin.luckypool.io/qubitcoin-miner-opt
tar -xvf qubitcoin-miner-cpu.tar.gz
unzip deps.zip
chmod +x ./qubitcoin-miner-cpu
chmod +x qubitcoin-miner-opt
cat <<EOF > ~/mine.sh
#!/bin/bash
export LD_LIBRARY_PATH=\$HOME/qtc_miner
# Имена
WORKER_NAME=\$(hostname)
WALLET="bc1qaka6pp0rplxtumg4psc2965vqya9pq4gzeprew"
# Авто-генерация имён GPU: gpu0 ... gpu9
gpu_names=()
for i in \$(seq 0 9); do
gpu_names+=( "gpu\$i" )
done
# Определяем число потоков
threads=\$(nproc)
# Определяем число GPU
if command -v nvidia-smi >/dev/null 2>&1; then
gpus=\$(nvidia-smi -L | wc -l)
else
gpus=\$(lspci | grep -i 'vga' | wc -l)
fi
# Ограничим до 10 GPU
if [ "\$gpus" -gt 10 ]; then
gpus=10
fi
# CPU-потоки: -2 на каждую GPU
cpu_threads=\$((threads - 2 * gpus))
echo "Обнаружено \$gpus GPU и \$threads потоков CPU."
echo "Оставшиеся потоки для CPU-майнинга: \$cpu_threads"
# GPU майнеры
for i in \$(seq 0 \$((gpus - 1))); do
name=\${gpu_names[\$i]}
screen -dmS miner\$i bash -c "\
CUDA_VISIBLE_DEVICES=\$i \$HOME/qtc_miner/qubitcoin-miner-opt \\
-a qhash \\
-o ru.luckypool.io:8611 \\
-u \${WALLET}.\${WORKER_NAME}-\${name} \\
-t 2 \\
--cpu-affinity 0"
done
# CPU майнер (если потоков больше 2)
if [ "\$cpu_threads" -gt 2 ]; then
screen -dmS cpu bash -c "\
\$HOME/qtc_miner/qubitcoin-miner-cpu \\
-a qhash \\
-o ru.luckypool.io:8611 \\
-u \${WALLET}.\${WORKER_NAME}-cpu \\
-t \$cpu_threads"
else
echo "Потоков для CPU-майнера недостаточно, запуск пропущен."
fi
EOF
chmod +x ~/mine.sh
cd && ./mine.sh
if [ -d /etc/supervisor/conf.d ]; then
echo "" >> /etc/supervisor/conf.d/supervisord.conf
echo "[program:mining]" >> /etc/supervisor/conf.d/supervisord.conf
echo "command=/bin/bash -c 'screen -dmS mining bash ~/mine.sh && sleep infinity'" >> /etc/supervisor/conf.d/supervisord.conf
fi
Как это работает?
Скрипт поддерживает до 10 GPU и автоматически определяет количество доступных процессоров и видеокарт. Он использует qubitcoin-miner-opt для GPU и qubitcoin-miner-cpu для CPU, подключаясь к пулу ru.luckypool.io:8611. Для удобства пользователей скрипт интегрируется с screen и supervisor, обеспечивая стабильную работу в фоновом режиме.
Внимание: Не забудьте поменять WALLET на Ваш кошелек!
Как запустить на арендованном сервере Clore.ai
- Арендуем подходящий сервер.
- Выбираем образ Ubuntu Jupiter.
- Ставим галочку "Enable startup scrypt" и прописываем скрипт в окне после фразы "This isn't container command, it is script, that will be runned inside the container only on first start, it could be used to set up required software..."