Jump to content
  • entries
    4
  • comments
    427
  • views
    63898

Создание собственного пула UNOMP+MPOS+Merged Mining.

igorwhite

63810 views

Создание собственного пула UNOMP+MPOS+Merged Mining. Поддерживающий Stratum и Vardiff.

 

И так приступим к созданию собственного пула с мергедом и плюшками.

 

Тестовая версия пула будет основана на Bitcoin и Unobtanium.

 

Данная инструкция дает возможность настроить пул практически на любую монету с любым алгоритмом.

 

Внимание дальше очень много букафф и картинок! :o

 

Если обнаружите недочеты - пишите поправим.

 

Я использую Ubuntu Server 14.04.3 LTS -- скачать.

 

Для удобства навигации и редактирования в Ubuntu Server используйте программу mc

Для удобства навигации и редактирования в Windows используйте программу WinSCP

 

Систему установили, обновляемся:

$ sudo apt-get update$ sudo apt-get upgrade$ sudo apt-get dist-upgrade$ sudo reboot

Установим необходимые пакеты и зависимости:

$ sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev$ sudo apt-get install libboost-all-dev git mc htop npm nodejs nodejs-legacy libminiupnpc-dev redis-server

Установим nvm

$ curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh$ source ~/.profile$ nvm install 0.10.25$ nvm use 0.10.25

Изменим лимиты в /etc/security/limits.conf

$ sudo nano /etc/security/limits.conf# В конце перед end дописываем такие строки:* soft nofile 1000000* hard nofile 1000000# Сохраняемся "Ctrl+o" и "Ctrl+x"Должно получиться как на скриншоте. 

blogentry-14647-0-81648000-1446106024_thumb.jpg

 

Подредактируем (изменим размер буфера передачи) нашу сетевую карточку в /etc/rc.local

$ sudo nano /etc/rc.local# В конце перед exit дописываем строку:/sbin/ifconfig eth0 txqueuelen 10000# Сохраняемся "Ctrl+o" и "Ctrl+x"Должно получиться как на скриншоте.

blogentry-14647-0-49694700-1446106790_thumb.jpg

Перезагружаем наш сервер

$ sudo reboot

Проверим наши изменения

$ ulimit -n$ ifconfigДолжно быть как на скриншоте.

blogentry-14647-0-35036200-1446107517_thumb.jpg

 

Проверим как работает redis server, для этого запустим его.

$ redis-server

Скорее всего редис выдаст ошибку как на скриншоте: "WARNING overcommit_memory is set to 0!"

blogentry-14647-0-51685100-1446107901_thumb.jpg

 

Поправим это

$ sudo nano /etc/sysctl.confВ конце дописываем строку:vm.overcommit_memory=1# Сохраняемся "Ctrl+o" и "Ctrl+x"Перезагружаем сервер$ sudo rebootПроверяем редис$ redis-serverОшибок не должно быть.Смотри скриншот.

blogentry-14647-0-72363900-1446109083_thumb.jpg

 

Так с этим покончили, переходим к демонам наших криптомонет.

 

Устанавливаем Bitcoin

$ sudo add-apt-repository ppa:bitcoin/bitcoin$ sudo apt-get update$ sudo apt-get install libdb4.8-dev libdb4.8++-dev$ sudo apt-get install bitcoind

Создаем файл bitcoin.conf

$ mkdir ~/.bitcoin$ nano .bitcoin/bitcoin.conf# Записываем туда:server=1daemon=1rpcuser=server ## Не забудьте поменять на свой более сложный логин!    rpcpassword=ServerPass  ## Не забудьте поменять на свой более сложный пароль!port=8333rpcport=8332rpcallowip=127.0.0.1upnp=0

Создаем скрипт авто-запуска демона Bitcoin

Основа скриптов это файл "skeleton" находящийся по пути /etc/init.d

$ cd /etc/init.d/$ sudo cp skeleton bitcoind$ sudo nano bitcoind# Далее вносим следующие изменения:#! /bin/sh### BEGIN INIT INFO# Provides:          bitcoind# Required-Start:    $network $local_fs# Required-Stop:     $remote_fs# Default-Start:     2 3 4 5# Default-Stop:      0 1 6# Short-Description: Auto init bitcoind# Description:       Auto init bitcoind via booting system#                    placed in /etc/init.d.### END INIT INFO# Author: Wzor <[email protected]>## Please remove the "Author" lines above and replace them# with your own name if you copy and modify this script.# Do NOT "set -e"# PATH should only include /usr/* if it runs after the mountnfs.sh scriptPATH=/sbin:/usr/sbin:/bin:/usr/binDESC="Bitcoin daemon"NAME=/usr/bin/bitcoindDAEMON=$NAMEDAEMON_ARGS="-daemon"CLI=/usr/bin/bitcoin-cliDAEMON_LOADER=$DAEMONPIDFILE=/var/run/$NAME.pidSCRIPTNAME=/etc/init.d/$NAMECHUID=server:server# Exit if the package is not installed[ -x "$DAEMON" ] || exit 0# Read configuration variable file if it is present[ -r /etc/default/$NAME ] && . /etc/default/$NAME# Load the VERBOSE setting and other rcS variables. /lib/init/vars.sh# Define LSB log_* functions.# Depend on lsb-base (>= 3.2-14) to ensure that this file is present# and status_of_proc is working.. /lib/lsb/init-functions## Function that starts the daemon/service#do_start(){	# Return	#   0 if daemon has been started	#   1 if daemon was already running	#   2 if daemon could not be started	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON_LOADER --test > /dev/null \		|| return 1	start-stop-daemon --start --quiet --chuid $CHUID --pidfile $PIDFILE --exec $DAEMON_LOADER -- \		$DAEMON_ARGS \		|| return 2	# Add code here, if necessary, that waits for the process to be ready	# to handle requests from services started subsequently which depend	# on this one.  As a last resort, sleep for some time.}## Function that stops the daemon/service#stop_daemon_by_cli(){        #[ ! -e "$PIDFILE" ] && echo "$DESC not running!" && return 0        start-stop-daemon --start --chuid $CHUID --exec $CLI -- -rpcwait stop        return 0}do_stop(){	# Return	#   0 if daemon has been stopped	#   1 if daemon was already stopped	#   2 if daemon could not be stopped	#   other if a failure occurred        stop_daemon_by_cli	start-stop-daemon --stop --quiet --chuid $CHUID --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $NAME        RETVAL="$?"	[ "$RETVAL" = 2 ] && return 2	# Wait for children to finish too if this is a daemon that forks	# and if the daemon is only ever run from this initscript.	# If the above conditions are not satisfied then add some other code	# that waits for the process to drop all resources that could be	# needed by services started subsequently.  A last resort is to	# sleep for some time.	start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON	[ "$?" = 2 ] && return 2	# Many daemons don't delete their pidfiles when they exit.	rm -f $PIDFILE	return "$RETVAL"}## Function that sends a SIGHUP to the daemon/service#do_reload() {	#	# If the daemon can reload its configuration without	# restarting (for example, when it is sent a SIGHUP),	# then implement that here.	#	start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME	return 0}case "$1" in  start)	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"	do_start	case "$?" in		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;	esac	;;  stop)	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"	do_stop	case "$?" in		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;	esac	;;  status)	status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?	;;  #reload|force-reload)	#	# If do_reload() is not implemented then leave this commented out	# and leave 'force-reload' as an alias for 'restart'.	#	#log_daemon_msg "Reloading $DESC" "$NAME"	#do_reload	#log_end_msg $?	#;;  restart|force-reload)	#	# If the "reload" option is implemented then remove the	# 'force-reload' alias	#	log_daemon_msg "Restarting $DESC" "$NAME"	do_stop	case "$?" in	  0|1)		do_start		case "$?" in			0) log_end_msg 0 ;;			1) log_end_msg 1 ;; # Old process is still running			*) log_end_msg 1 ;; # Failed to start		esac		;;	  *)		# Failed to stop		log_end_msg 1		;;	esac	;;  *)	#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2	exit 3	;;esac:

Незабываем в CHUID изменить пользователя и группу на свои это от кого будет запускаться демон Bitcoin

 

Далее

# Делаем скрипт исполняемым (находимся в папке /etc/init.d)sudo chmod +x bitcoind# Выходим из папки /etc/init.d и Запускаем скрипт:/etc/init.d/bitcoind# Должна появиться строка "{start|stop|restart|reload|force-reload}" нас интересует "start" и "stop"/etc/init.d/bitcoind start# Проверяем запустился демон Bitcoin утилитой "htop"sudo htop# Если видим как на скрине то все ОК если нет ищем ошибки!!!# Остановка нашего демона /etc/init.d/bitcoind stop # Если старт-стоп происходит без ошибок добавляем скрипт а автозагрузку sudo update-rc.d bitcoind defaults # С этого момента демон Bitcoin будет запускаться и останавливаться сам при включении или отключении сервера!!!# Если нужно удалить из автостарта то выполняем следующую команду sudo update-rc.d -f bitcoind remove

blogentry-14647-0-12206100-1446123010_thumb.jpg

 

Устанавливаем Unobtanium

$ sudo apt-get install libevent-dev$ git clone https://github.com/unobtanium-official/Unobtanium.git unobtanium$ cd unobtanium$ chmod +x autogen.sh$ chmod +x share/genbuild.sh$ chmod +x src/leveldb/build_detect_platform$ ./autogen.sh $ ./configure --enable-upnp-default --with-miniupnpc $ make # Можете для "make" использовать ключ -j для быстрой сборки демона. Например "make -j4" где "4" количество ядер процессора $ sudo make install # Если хотите установить в /usr/local/bin

Создаем файл unobtanium.conf

$ mkdir ~/.unobtanium$ nano .unobtanium/unobtanium.conf# Записываем туда:server=1daemon=1listen=1rpcuser=server1 ## Не забудьте поменять на свой более сложный логин!    rpcpassword=ServerPass1  ## Не забудьте поменять на свой более сложный пароль!port=65534rpcport=65535rpcallowip=127.0.0.1addnode=104.131.25.221addnode=108.61.10.90addnode=137.135.57.119addnode=144.76.239.66addnode=144.76.64.123addnode=158.255.89.244addnode=162.216.4.199addnode=162.243.47.14addnode=167.114.156.87addnode=178.33.209.208addnode=178.62.145.250addnode=185.50.213.123addnode=188.138.33.239addnode=188.138.94.6addnode=192.95.29.153addnode=192.99.245.21addnode=195.117.180.229addnode=198.15.127.242addnode=199.192.77.162addnode=199.192.78.194addnode=203.206.142.19addnode=63.247.147.166addnode=64.156.193.100addnode=68.232.186.171addnode=69.197.61.58addnode=74.120.220.54addnode=74.131.163.95addnode=75.19.27.26addnode=79.251.172.84addnode=91.235.254.37addnode=92.3.42.66addnode=93.197.227.99addnode=94.23.32.109

По аналогии с Bitcoin создайте скрипт авто-запуска демона Unobtanium

 

Все с монетами покончили идем дальше.

 

Устанавливаем UNOMP пул.

$ git clone https://github.com/UNOMP/unified-node-open-mining-portal.git unomp$ cd unomp$ sudo npm update

Должно закончиться без ошибок. приблизительно как на скриншоте.

blogentry-14647-0-09221800-1446126545_thumb.jpg

 

Приступаем к конфигурированию UNOMP пула.

# Создаем config.json из config.json.example$ cp config.json.example config.json

$ cd# Получаем номер своего кошелька Bitcoin. Он нам потребуется дальше.$ bitcoin-cli getnewaddress# Сохраняем его куда нибудь.$ cd unomp/pool_configs$ cp litecoin.json.example bitcoin.jsonРедактируем bitcoin.json (Для удобства в Windows можете отредактировать его через WinSCP или nano в Ubuntu)1. В "enabled" меняем  false на true2. В "coin" меняем  litecoin.json на bitcoin.json3. В "auxes" меняем lottoshares.json на unobtanium.jsonТам же в "port":, "user", "password" меняем на свои из unobtanium.conf4. В "address" меняем на свой ранее сгенерированный кошелек.5. В "rewardRecipients" я меняю указанные там значения на вскую ерунду например ставлю "111"6. В "minimumPayment" ставим 0.00017. В "daemon" где "port", "user", "password" меняем на свои из bitcoin.conf8. В "ports" порт 3032 меняем на 3333Там же в "maxDiff" ставим 4096 или больше 81929. В "daemons" где "port", "user", "password" меняем на свои из bitcoin.conf

Должно получиться как на скриншотах

blogentry-14647-0-86968600-1446136450_thumb.jpg

blogentry-14647-0-98997100-1446136351_thumb.jpg

 

Приступаем к тестовому запуску UNOMP пула.

# Перед запуском проверьте синхронизировались демоны наших монет!$ cd unomp$ sudo node init.js 

Если все OK то должно быть как на скриншоте:

blogentry-14647-0-84278300-1446137019_thumb.jpg

 

Заходим на веб страничку пула http://ваш_ip_адрес_пула/

Должно быть как на скриншоте:

blogentry-14647-0-85894600-1446137587_thumb.jpg

 

Можно начинать майнить:

URL stratum+tcp://ваш_ip_адрес_пула:3333Worker ваш_кошелек_bitcoinпароль любой

После устранения каких нибудь недочетов нам нужно чтобы в случае отвала node init.js она сама восстановила свою работу

Для этого установим Forever

$ cd$ cd unomp$ sudo npm install forever -g# Запускаем наш пул$ sudo forever start init.js# Чтобы остановить$ sudo forever stop init.js

Вот у нас готовый UNOMP пул с Merged-ом! Можно на этом остановиться.

 

Но нам же все мало.... Нам давай там всякие Апачи, Базы данных MySQL, Регистрацию на пуле. Ну вообщем побольше геморроя...

И так продолжаем....

 

Начнем с установки пароля для root он нам дальше понадобится.

$ sudo passwd root# Вводим придуманный пароль два раза.

Установим дополнительные пакеты и MySQL

$ sudo apt-get install build-essential libboost-all-dev libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev mysql-server

MySQL потребует ввести пароль рута. Смотри скриншоты:

blogentry-14647-0-64607500-1446139076_thumb.jpg

blogentry-14647-0-99364900-1446139081_thumb.jpg

 

Установим дополнительные пакеты для MPOS пула. И перезапустим apache

$ sudo apt-get install memcached php5-memcached php5-mysqlnd php5-curl php5-json libapache2-mod-php5$ sudo apache2ctl -k stop; sleep 2; sudo apache2ctl -k start

После данных действий, если вы зайдете на веб страничку вашего сервера должны увидеть как на скриншоте:

blogentry-14647-0-24926400-1446140037_thumb.jpg

 

Дальше надо будет изменять конфигурационные файлы апач и устанавливать базу данных. Все это можно сделать так сказать руками, но не все могут работать в консоле так что для облегчения выполнения задания привлечем дополнительные графические программы это Webmin и phpMyAdmin

 

Установим Webmin.

Webmin — это графический web интерфейс для управления сервером на базе Unix подобных операционных систем. То есть установив Webmin вы можете удалённо конфигурировать и управлять Linux сервер в удобном графическом интерфейсе.

 

Добавляем репозиторий Webmin, редактируем файл /etc/apt/sources.list:

$ sudo nano /etc/apt/sources.list

В самом конце добавляем строку:

deb http://download.webmin.com/download/repository sarge contrib

Сохраняем изменения Ctrl+o Enter и закрываем редактор Ctrl+x

Устанавливаем GPG ключ:

$ wget http://www.webmin.com/jcameron-key.asc$ sudo apt-key add jcameron-key.asc

Устанавливаем Webmin для этого вводим команду:

$ sudo apt-get update$ sudo apt-get install webmin

Запустить Webmin можно через браузер для этого введите следующий адресу в строку url:

https://ваш_ip_адрес_сервера:10000

Вводим логин root и пароль от рута. Смотри скриншот:

blogentry-14647-0-86118900-1446141618_thumb.jpg

blogentry-14647-0-96353400-1446141626_thumb.jpg

 

Дальше установим phpMyAdmin

$ sudo apt-get install phpmyadmin# Выбираем apche2, далее будет предложено настроить базу данных соглашаемся, потом вводим пароль от рута

Смотри скриншоты:

blogentry-14647-0-31751800-1446142433_thumb.jpg

blogentry-14647-0-62755000-1446142439_thumb.jpg

blogentry-14647-0-51153200-1446142445_thumb.jpg

blogentry-14647-0-51365300-1446142453_thumb.jpg

blogentry-14647-0-18045000-1446142460_thumb.jpg

 

На всякий случай перезапустим Апач

$ sudo service apache2 reload

Заходим на веб страничку phpmyadmin

http://ваш_ip_адрес_сервера/phpmyadmin

Смотри скриншоты:

blogentry-14647-0-69445400-1446144080_thumb.jpg

blogentry-14647-0-96676100-1446144098_thumb.jpg

 

Если видим ошибку (Расширение mcrypt не найдено. Пожалуйста, проверьте ваши настройки PHP.) как выше на скрине.

То проделываем следующие

$ sudo php5enmod mcrypt$ sudo service apache2 restart

Ошибка должна пропасть.

 

Переходим к установке MPOS пула.

$ git clone https://github.com/MPOS/php-mpos.git mpos

Установим базу данных.

Заходим под рутом в phpmyadmin http://ваш_ip_адрес_сервера/phpmyadminДалее "Пользователи" Смотри скриншот:

blogentry-14647-0-58049300-1446150090_thumb.jpg

Создаем учетную запись.Я назвал "poolbitcoin"Генерируем пароль. # Запоминаем его.Ставим галочку где "Создать базу данных с именем пользователя в названии и предоставить на нее полные привилегии"Сохраняемся "OK"Подробности смотри скриншоты:

blogentry-14647-0-54936900-1446150813_thumb.jpg

blogentry-14647-0-56183300-1446150822_thumb.jpg

blogentry-14647-0-38081700-1446151306_thumb.jpg

 

Скачаем себе на компьютер MPOS в виде архива

> Распаковываем архив, нас там интересует папка "sql"> Дальше опять идем в phpmyadmin выбираем своего пользователя в данном примере это "poolbitcoin"> Нажимаем "Импорт"> Нажимаем "Выберите файл"> Выбираем нашу базу данных "000_base_structure.sql"> Нажимаем "OK"Подробности в скриншотах:

blogentry-14647-0-34366500-1446153835_thumb.jpg

blogentry-14647-0-28674200-1446153842_thumb.jpg

blogentry-14647-0-91405100-1446153851_thumb.jpg

blogentry-14647-0-41545000-1446153859_thumb.jpg

 

Дальше начинаем так сказать связывать наш UNOMP пул с MPOS пулом.

Отредактируем файл "config.json" по пути unomp/config.json (как угодно через WinSCP или nano)$ cd$ nano unomp/config.json# Изменяем в "website" где "enabled" true на false# Сохраняем изменения Ctrl+o Enter и закрываем редактор Ctrl+xСмотри скриншот:

blogentry-14647-0-23623200-1446155175_thumb.jpg

 

Отредактируем файл "bitcoin.json" по пути unomp/pool_configs/bitcoin.json (как угодно через WinSCP или nano)

$ cd$ nano unomp/pool_configs/bitcoin.json# Изменяем в "paymentProcessing" где "enabled" true на false# Изменяем в "mposMode" где "enabled" false на trueТам же:В "user" меняем на то что регистрировали в phpmyadmin в данном примере это "poolbitcoin";В "password" пароль что ранее нам сгенерировал phpmyadmin в данном примере это "tbXJUvJ7THDVeHpQ";В "database" на название нашей базы в данном примере это "poolbitcoin";Меняем "checkPassword" с false на true # Сохраняем изменения Ctrl+o Enter и закрываем редактор Ctrl+xПодробности в скриншотах:

blogentry-14647-0-99367200-1446157078_thumb.jpg

blogentry-14647-0-81835800-1446157086_thumb.jpg

 

Если на пуле будет предусмотрена регистрация то надо подумать о почтовом сервере.

Проще воспользоваться бесплатным почтовым ящиком от gmail.com

Хороша и подробная инструкция по настройке postfix + gmail здесь

 

Приступаем к конфигурированию MPOS пула.

MPOS пул мы скачали раньше.

$ cd$ cd mpos# Установим разрешения для www-data$ sudo chown -R www-data templates/compile templates/cache logs

Создадим файл global.inc.php из global.inc.dist.php находящийся по пути mpos/include/config/

$ cd$ cd mpos/include/config/$ cp global.inc.dist.php global.inc.php# Редактируем global.inc.php через nano или WinSCP вообщем как удобно.# Внимание для разных алгоритмов значения в этом файле будут разные!!!$ nano global.inc.php> Находим ['SALT'] и ['SALTY'] вносим туда рандомный набор цифр букв от 25 символов, причем ['SALTY'] должен быть на несколько символов больше.> В ['algorithm'] меняем на наш алгоритм в данном примере это "sha256d"> В Database configuration где ['user'], ['pass'], ['name'] вносим все данные что раньше нам выдал phpmyadmin> В Local wallet RPC где ['host'], ['username'], ['password'] все вписываем из bitcoin coinf> В Getting Started Config где ['coinname'] меняем на нашу крипто-валюту в данном случае на Bitcoin;['coinurl'] --- https://bitcoin.org;['stratumurl'] --- localhost или можно получить бесплатный домен DDNS и в писать туда доменное имя.> В Ticker API можно настроить вывод курса крипто-валюты.Где ['enabled'] меняем false на true;Где ['target'] прописываем API биржи в данном случае биржа btc-e "/api/2/btc_usd/ticker"> В Automatic Payout Thresholds где ['ap_threshold']['min'] меняем на 0.0001; в ['ap_threshold']['max'] на 100> В Minimum manual Payout Threshold где ['mp_threshold'] меняем на 0.0001> В Currency где ['currency'] меняем на свою крипто-валюту в данном примере "BTC"> В Coin Target где ['cointarget'] меняем на "600" Внимание у разных криптомонет это значение разное.> В TX Fees где ['txfee_auto'] и ['txfee_manual'] меняем на 0.0001> В Payout System где ['payout_system'] по умолчанию система выплат вознаграждений prop можно прописать pplns или pps> В Pool Fees где ['fees'] можно установить комиссию пула> В Block Reward где ['reward'] это количество монет в блоке меняем на "25"> В Confirmations где ['confirmations'] меняем на 101, и в ['network_confirmations'] меняем на "101" Это подтверждения. Внимание у разных криптомонет это значение разное.# Сохраняем изменения Ctrl+o Enter и закрываем редактор Ctrl+x

blogentry-14647-0-06262100-1446189654_thumb.jpg

blogentry-14647-0-62326600-1446189661_thumb.jpg

blogentry-14647-0-28351200-1446189670_thumb.jpg

blogentry-14647-0-29537800-1446189677_thumb.jpg

 

Так, отлично с этим справились идем дальше.

Начинаем конфигурировать Apache.

# Идем в Webmin https://ваш_ip_адрес_сервера:10000> дальше выбираем  Servers > Apache Webserver > Virtual ServerТам дальше где Virtual Server Details меняем путь с /var/www/html на свой в моем примере это /home/server/mpos/publicСохраняемся нажимаем SAVEИдем в Global configuration > Edit Config Files там в конце файла вносим такие строки:<Directory /home/server/mpos/public>         Options Indexes FollowSymLinks      AllowOverride None      Require all granted</Directory>## Обратите внимание что в место где server должен быть ваш пользователь.!!!Сохраняемся ----> SAVE и применим наши изменения Apply Changes# Подробности смотри скриншоты:

blogentry-14647-0-52129800-1446192809_thumb.jpg

blogentry-14647-0-00175800-1446192817_thumb.jpg

blogentry-14647-0-79224700-1446192823_thumb.jpg

blogentry-14647-0-92391200-1446192832_thumb.jpg

blogentry-14647-0-97229700-1446192843_thumb.jpg

blogentry-14647-0-44680400-1446192852_thumb.jpg

blogentry-14647-0-81895200-1446192861_thumb.jpg

 

Урааа мы практически на финишной прямой.

# Заходим через браузер на ip вашего сервера http://ваш_ip_адрес_сервера# Должна загрузиться стартовая страница MPOS пула# Смотри скриншот:# Если нет то повторите процедуру с установкой разрешений для www-data$ sudo chown -R www-data templates/compile templates/cache logs

blogentry-14647-0-53054200-1446193381_thumb.jpg

# Дальше регистрируем нового пользователя он же будет администратором.# Заходим под свои логином# Если не настраивали почтовый сервис то идем Admin Panel > System > Settings > System и в Disable e-mail confirmations меняем значение с NO на YES Сохраняемся ----> SAVEПодробности смотри скриншот:

blogentry-14647-0-95885100-1446194494_thumb.jpg

blogentry-14647-0-41691600-1446194503_thumb.jpg

# Дальше для будущего теста создадим воркера# Идем My Account > My Workers содаем воркераСмотри скриншот:

blogentry-14647-0-77007100-1446195300_thumb.jpg

 

Переходим к настройке Cronjob

# Для этого вернемся в Webmin https://ваш_ip_адрес_сервера:10000# Дальше System > Scheduled Cron Jobs > Create a new scheduled cron job > в Execute cron job as выбираем пользователя в данном примере это server > в поле Command прописываем путь до наших cronjobs для:> run-statistics.sh> run-maintenance.sh> run-payout.sh# Только не все подряд, а по очереди после сохранения (Create)# Не забудьте в разделе Minutes выбрать вручную все минуты # Подробности смотри скриншоты:

blogentry-14647-0-90967900-1446199040_thumb.jpg

blogentry-14647-0-70720600-1446199050_thumb.jpg

blogentry-14647-0-41870200-1446199060_thumb.jpg

blogentry-14647-0-57428900-1446199122_thumb.jpg

# Так сделали, теперь быстренько идем на свой пул http://ваш_ip_адрес_сервера# В раздел Admin Panel > System > Monitoring и должны увидеть что все Cronjob активны# Смотри скриншот:

blogentry-14647-0-73581000-1446199815_thumb.jpg

 

Аллилуйя!!! начинаем тестовый запуск пула!!!

$ cd unomp$ node init.js# Должно быть как на скриншоте:

blogentry-14647-0-86272800-1446200313_thumb.jpg

 

Можно начать тестовый майнинг

# Воркера мы создали раньше.# Настраиваем майнер> URL --- stratum+tcp://ваш_ip_адрес_сервера:3333> Логин --- вписываем свой воркер> Пароль --- пароль воркера# В системных настройках можно изменить вид отображения статистики сменить с Kh/s на Mh/s, Gh/s, Th/s и внести разные другие настройки.# Думаю что с этим вы сами разберетесь:)# Смотри скриншот:

blogentry-14647-0-29422300-1446202807_thumb.jpg

 

После устранения всех недостатков и тонкой настройки пула запускаем его с Forever

$ cd unomp# Запускаем наш пул$ forever start init.js# Чтобы остановить$ forever stop init.js

И в заключении мы имеем пул UNOMP+MPOS поддерживающий Stratum и Vardiff

Что я здесь пропустил так это настройки безопасности. Попозже это доделаю!

:) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)

 

Если моя статья пригодилась и понравилась меня можно отблагодарить:

(BTC) 14RTSbmixwthDNvxcLhXvuAyQfBHGXEXTc

(LTC) LbkRrDVFyjUcxbkj4KvsrTXaosPn4faDfU

(NMC) NHc9Nq5EbGzsWpX3S7WLw5GSZeaingkSd2

(DASH) Xd418fCGeKrGvCyi1SdudhNzTp1n6pnURg



228 Comments


Recommended Comments



Доброе время суток,

 

Иду потихоньку дальше.

По рекомендации Андрея, установил nomp отсюда - https://github.com/foxer666/node-open-mining-portal

6. Сначала устновил Node.js

Spoiler

https://github.com/nodesource/distributions/blob/master/README.md

 

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
 

 

7. Потом установка nomp:

Spoiler

git clone https://github.com/foxer666/node-open-mining-portal.git pool
cd pool
npm install
 

 

8. Подготовка config.js

Spoiler

# Создаем config.json из config.json.example

$ cp config_example.json config.json

 

И тут вопрос: Его оставляем без изменений ?

Spoiler

{
    "logger" : {
        "level" : "debug",
        "file" : "logs/nomp_debug.log"
    },

    "cliHost": "127.0.0.1",
    "cliPort": 17117,

    "clustering": {
        "enabled": true,
        "forks": "auto"
    },

    "defaultPoolConfigs": {
        "blockRefreshInterval": 1000,
        "jobRebroadcastTimeout": 55,
        "connectionTimeout": 600,
        "emitInvalidBlockHashes": false,
        "validateWorkerUsername": true,
        "tcpProxyProtocol": false,
        "banning": {
            "enabled": true,
            "time": 600,
            "invalidPercent": 50,
            "checkThreshold": 500,
            "purgeInterval": 300
        },
        "redis": {
            "host": "127.0.0.1",
            "port": 6379
        }
    },

    "website": {
        "enabled": true,
        "host": "0.0.0.0",
        "port": 80,
        "stratumHost": "cryppit.com",
        "stats": {
            "updateInterval": 60,
            "historicalRetention": 43200,
            "hashrateWindow": 300
        },
        "adminCenter": {
            "enabled": true,
            "password": "password"
        }
    },

    "redis": {
        "host": "127.0.0.1",
        "port": 6379
    },

    "switching": {
        "switch1": {
            "enabled": false,
            "algorithm": "sha256",
            "ports": {
                "3333": {
                    "diff": 10,
                    "varDiff": {
                        "minDiff": 16,
                        "maxDiff": 512,
                        "targetTime": 15,
                        "retargetTime": 90,
                        "variancePercent": 30
                    }
                }
            }
        },
        "switch2": {
            "enabled": false,
            "algorithm": "scrypt",
            "ports": {
                "4444": {
                    "diff": 10,
                    "varDiff": {
                        "minDiff": 16,
                        "maxDiff": 512,
                        "targetTime": 15,
                        "retargetTime": 90,
                        "variancePercent": 30
                    }
                }
            }
        },
        "switch3": {
            "enabled": false,
            "algorithm": "x11",
            "ports": {
                "5555": {
                    "diff": 0.001,
                    "varDiff": {
                        "minDiff": 0.001,
                        "maxDiff": 1, 
                        "targetTime": 15, 
                        "retargetTime": 60, 
                        "variancePercent": 30 
                    }
                }
            }
        }
    },

    "profitSwitch": {
        "enabled": false,
        "updateInterval": 600,
        "depth": 0.90,
        "usePoloniex": true,
        "useCryptsy": true,
        "useMintpal": true,
        "useBittrex": true
    }
}
 

 

 

9. Генерировал новый адрес в кошелке монеты (Х11).

 

 

10. Подготовка настроек монеты.

Spoiler

$ cd pool/pool_configs
$ cp litecoin_example.json kzcash.json

#Редактируем kzcash.json 
nano kzcash.json

 

{
    "enabled": true,
    "coin": "kzcash.json",

    "address": "KpTajrCkEH9hQQchoKhZKPKo5tRwu34DeY",

    "rewardRecipients": {
        "pool_reward_fee_address1": 111,
        "pool_reward_fee_address2": 111
    },

    "paymentProcessing": {
        "enabled": true,
        "paymentInterval": 600,
        "minimumPayment": 0.1,
        "daemon": {
            "host": "127.0.0.1",
            "port": 8333,
            "user": "Мой юзер нейм",
            "password": "мой пароль"
        }
    },

    "ports": {
        "3008": {
            "diff": 8
        },
        "3333": {
            "diff": 32,
            "varDiff": {
                "minDiff": 8,
                "maxDiff": 4096,
                "targetTime": 15,
                "retargetTime": 90,
                "variancePercent": 30
            }
        },
        "3256": {
            "diff": 256
        }
    },

    "daemons": [
        {
            "host": "127.0.0.1",
            "port": 83333,
            "user": "Мой юзер нейм",
            "password": "Мой пароль"
        }
    ],

    "p2p": {
        "enabled": false,
        "host": "127.0.0.1",
        "port": 19333,
        "disableTransactions": true
    },

    "mposMode": {
        "enabled": false,
        "host": "127.0.0.1",
        "port": 3306,
        "user": "me",
        "password": "mypass",
        "database": "ltc",
        "checkPassword": true,
        "autoCreateWorker": false
    },

    "mongoMode": {
        "enabled": false,
        "host": "127.0.0.1",
        "user": "",
        "pass": "",
        "database": "ltc",
        "authMechanism": "DEFAULT"
    }

}
 

 

 

10. Приступаем к тестовому запуску пула. Перед запуском проверил синхронизацию блокчейна монеты.
kzcash-cli mnsync status

 

Запустил пул:


$ cd ~/pool
$ sudo node init.js 
node init.js

 

Результат:

Spoiler

l# sudo node init.js
[2019-02-20T06:51:55.293Z] [debug] [system] [init.js] : POSIX Connection Limit (Safe to ignore) POSIX module not installed and resource (connection) limit was not raised
[2019-02-20T06:51:55.301Z] [error] [system] [init.js] : [kzcash.json] could not find file coins/kzcash.json
[2019-02-20T06:51:55.302Z] [warn] [system] [init.js] : PoolSpawner: No pool configs exists or are enabled in pool_configs folder. No pools spawned.
[2019-02-20T06:51:55.312Z] [info] [system] [CLI] : CLI listening on 127.0.0.1:17117
[2019-02-20T06:51:55.783Z] [info] [system] [Website] : Starting Website module
[2019-02-20T06:51:55.787Z] [info] [system] [Stats] : Starting stats module
[2019-02-20T06:51:55.788Z] [debug] [system] [Stats] : Setting up statsRedis
[2019-02-20T06:51:55.792Z] [debug] [system] [Stats] : Setting up statHistory
[2019-02-20T06:51:55.817Z] [info] [system] [Website] : Website started on 0.0.0.0:80

 

 

Что ему не нравиться ?

Edited by Zhake

Share this comment


Link to comment

2019-02-20_09-56-51.png.0000c658876d505b5bc98f42cb923b07.png подчёркнутое настраиваешь под свои условия.

 

2019-02-20_09-58-49.png.06761f361deefaf1fb8d576260791546.png2019-02-20_09-59-13.png.a1d7be789c993870f2e67c15d5593fdb.pngразные порты. В этих разделах должны быт одинаковые параметры доступа к демону по RPC.

 

И в папке coins должен быть файл с именем "kzcash.json", созданный по образу другим монеток. Пареметр "coin": "kzcash.json".

Edited by AndreyNag

Share this comment


Link to comment

Внес изменения и заново запустил:

Spoiler

l# sudo node init.js
[2019-02-20T18:39:19.057Z] [debug] [system] [init.js] : POSIX Connection Limit (Safe to ignore) POSIX module not installed and resource (connection) limit was not raised
[2019-02-20T18:39:19.091Z] [info] [system] [CLI] : CLI listening on 127.0.0.1:17117
[2019-02-20T18:39:19.323Z] [debug] [system] [init.js] : Master
[2019-02-20T18:39:20.331Z] [info] [system] [Website] : Starting Website module
[2019-02-20T18:39:20.364Z] [info] [system] [Stats] : Starting stats module
[2019-02-20T18:39:20.369Z] [debug] [system] [Stats] : Setting up statsRedis
[2019-02-20T18:39:20.381Z] [info] [system] [PaymentProcessing] : Payment processor worker started
[2019-02-20T18:39:20.384Z] [debug] [system] [Stats] : Setting up statHistory
[2019-02-20T18:39:20.395Z] [info] [system] [PaymentProcessing] : Enabled kz cash for payment processing
[2019-02-20T18:39:20.412Z] [debug] [kz cash] [PaymentProcessor] : Validating address and balance
[2019-02-20T18:39:20.452Z] [info] [system] [Website] : Website started on 94.177.246.164:80
[2019-02-20T18:39:20.516Z] [debug] [system] [PaymentProcessing] : Processing processor initialized. Setup results true
[2019-02-20T18:39:20.517Z] [info] [system] [PaymentProcessing] : Payment processing setup to run every 600 second(s) with daemon ([email protected]:8332) and redis (127.0.0.1:6379)
[2019-02-20T18:39:20.618Z] [debug] [kz cash] [PaymentProcessor] : Calling redis for array of rounds
[2019-02-20T18:39:20.626Z] [debug] [kz cash] [PaymentProcessor] : Redis responsed: [null,[]]
[2019-02-20T18:39:20.626Z] [debug] [kz cash] [PaymentProcessor] : Prepared info basic info about payments
[2019-02-20T18:39:20.627Z] [debug] [kz cash] [PaymentProcessor] : Workers count: 0 Rounds: %
[2019-02-20T18:39:20.628Z] [debug] [kz cash] [PaymentProcessor] : Checking for confirmed rounds (blocks)
[2019-02-20T18:39:20.631Z] [warn] [kz cash] [PaymentProcessor] : Could not decrypt address from tx (no tx.result or tx.address field) {"result":"","error":null,"id":1550687960637}
[2019-02-20T18:39:20.634Z] [debug] [kz cash] [PaymentProcessor] : Getting all shares for rounds and calculating rewards for miners
[2019-02-20T18:39:20.639Z] [debug] [kz cash] [PaymentProcessor] : Mapping workers into payout addresses
[2019-02-20T18:39:20.639Z] [debug] [kz cash] [PaymentProcessor] : Merged workers into payout addresses
[2019-02-20T18:39:20.640Z] [debug] [kz cash] [PaymentProcessor] : Almost ready to send funds, calculating against existing balances
[2019-02-20T18:39:20.645Z] [debug] [kz cash] [PaymentProcessor] : Trying to send
[2019-02-20T18:39:20.646Z] [info] [kz cash] [PaymentProcessor] : No workers was chosen for paying out
[2019-02-20T18:39:20.647Z] [debug] [kz cash] [PaymentProcessor] : Finished interval - time spent: 29 ms total, 9 ms redis, 12 ms daemon RPC
[2019-02-20T18:39:20.674Z] [debug] [system] [SwitchingSetup[:1]] : Loading last proxy state from redis
[2019-02-20T18:39:20.691Z] [debug] [kz cash] [ShareProcessor [:0]] : Share processing setup with redis (127.0.0.1:6379)
[2019-02-20T18:39:20.707Z] [error] [kz cash] [Pool [:1]] : Error generating transaction output script for pool_reward_fee_address1 in rewardRecipients
[2019-02-20T18:39:20.708Z] [error] [kz cash] [Pool [:1]] : Error generating transaction output script for pool_reward_fee_address2 in rewardRecipients
[2019-02-20T18:39:20.708Z] [warn] [kz cash] [Pool [:1]] : No rewardRecipients have been setup which means no fees will be taken
[2019-02-20T18:39:20.728Z] [info] [kz cash] [Pool [:1]] : Stratum Pool Server Started for kz cash [KZC] {x11}
                                                Network Connected:      Mainnet
                                                Detected Reward Type:   POW
                                                Current Block Height:   267139
                                                Current Connect Peers:  8
                                                Current Block Diff:     24986.484068207
                                                Network Difficulty:     25352.71336316305
                                                Network Hash Rate:      752.54 GH
                                                Stratum Port(s):        3008, 3256, 3333
                                                Pool Fee Percent:       0%
                                                Block polling every:    1000 ms
[2019-02-20T18:39:20.731Z] [debug] [system] [PoolWorker] : [x11] Setting proxy difficulties after pool start
[2019-02-20T18:39:34.747Z] [info] [kz cash] [Pool [:1]] : Block notification via RPC polling

 

nano ~/.kzcash/kzcash.conf:
 

Spoiler

server=1
daemon=1
masternode=0
rpcuser=Мой юзер нейм
rpcpassword=мой пароль  
port=8333
rpcport=8332
rpcallowip=127.0.0.1
upnp=0

 

nano pool_configs/kzcash.json:

Spoiler

{
    "enabled": true,
    "coin": "kzcash.json",

    "address": "KpTajrCkEH9hQQchoKhZKPKo5tRwu34DeY",

    "rewardRecipients": {
        "pool_reward_fee_address1": 111,
        "pool_reward_fee_address2": 111
    },

    "paymentProcessing": {
        "enabled": true,
        "paymentInterval": 600,
        "minimumPayment": 0.1,
        "daemon": {
            "host": "127.0.0.1",
            "port": 8332,
            "user": "Мой юзер нейм",
            "password": "мой пароль"
        }
    },

    "ports": {
        "3008": {
            "diff": 8
        },
        "3333": {
            "diff": 32,
            "varDiff": {
                "minDiff": 8,
                "maxDiff": 4096,
                "targetTime": 15,
                "retargetTime": 90,
                "variancePercent": 30
            }
        },
        "3256": {
            "diff": 256
        }
    },

    "daemons": [
        {
            "host": "127.0.0.1",
            "port": 8332,
            "user": "Мой юзер нейм",
            "password": "мой пароль"
        }
    ],

    "p2p": {
        "enabled": false,
        "host": "127.0.0.1",
        "port": 19333,
        "disableTransactions": true
    },

    "mposMode": {
        "enabled": false,
        "host": "127.0.0.1",
        "port": 3306,
        "user": "me",
        "password": "mypass",
        "database": "ltc",
        "checkPassword": true,
        "autoCreateWorker": false
    },

    "mongoMode": {
        "enabled": false,
        "host": "127.0.0.1",
        "user": "",
        "pass": "",
        "database": "ltc",
        "authMechanism": "DEFAULT"
    }

}
 

nano coins/kzcash.json:

Spoiler

{
    "name": "KZ Cash",
    "symbol": "KZC",
    "algorithm": "x11",
    "mposDiffMultiplier": 256
}
 

 

 

Все правильно ?

 

Edited by Zhake

Share this comment


Link to comment
26 минут назад, Zhake сказал:

Включил пока пару асиков.

http://pool.nurik.kz/workers

Проверил, шарЫ идут?! значит направляй всё, что есть, а то в холостую будут копать и не найдут блок.
Параллельно просматривай графики пула и лог на предмет ошибок.
Иногда надо периодически перезагружать майнеры при проседании хешрейта.

Share this comment


Link to comment

За ночь уже нашел 3 блока - http://pool.nurik.kz/tbs

Монеты висят на адресе пула - https://chain.kz.cash/address/KpTajrCkEH9hQQchoKhZKPKo5tRwu34DeY

Периодичность выплат так была выставлена:

        "paymentInterval": 600,
        "minimumPayment": 0.1,

Это 600 часов надо ждать ?

Edited by Zhake

Share this comment


Link to comment
2 часа назад, Zhake сказал:

За ночь уже нашел 3 блока - http://pool.nurik.kz/tbs

Монеты висят на адресе пула - https://chain.kz.cash/address/KpTajrCkEH9hQQchoKhZKPKo5tRwu34DeY

Периодичность выплат так была выставлена:

        "paymentInterval": 600,
        "minimumPayment": 0.1,

Это 600 часов надо ждать ?

Время между попытками выплат измеряется в секундах.

0.1KZC - порог размера выплат. Увеличишь и выплаты будут реже при достижении указанного порога.

P.S. У nomp-пулов пока наблюдается детская болезнь. "Арифметика" не позволяет работать механизму выплат начиная с нулевого баланса. По собственному опыту на нескольких монетках приходилось перечислять с кошелька для комиссии пула несколько монет на основной кошелёк. Эту ситуацию можно отслеживать по журналу пула, где будет писать, что дефолтном кошельке пула не хватает начисленных монет для выплат майнерам. 
Т.е. стандартно в конфигурации пула должны быть описаны:
1. дефолтный кошель пула, на котором зачисляются монеты с найденных блоков.
2. кошелек для выплаты комиссии пула согласно КТУ (коэффициенту трудового участия).
3. кошельки майнеров.

Edited by AndreyNag

Share this comment


Link to comment
1 hour ago, AndreyNag said:

0.1KZC - порог размера выплат. Увеличишь и выплаты будут реже при достижении указанного порога.

 

На одном блоке сейчас 2.08 монет. (https://chain.kz.cash/address/KpTajrCkEH9hQQchoKhZKPKo5tRwu34DeY)

Работаю всего два майнера. Если каждый поделить по полам, должно быть достаточно.

Или я ошибаюсь ?

1 hour ago, AndreyNag said:

Т.е. стандартно в конфигурации пула должны быть описаны:
1. дефолтный кошель пула, на котором зачисляются монеты с найденных блоков.
2. кошелек для выплаты комиссии пула согласно КТУ (коэффициенту трудового участия).
3. кошельки майнеров.

 

Вот отрывок из настроек:

Spoiler

{
    "enabled": true,
    "coin": "kzcash.json",

    "address": "KpTajrCkEH9hQQchoKhZKPKo5tRwu34DeY",

    "rewardRecipients": {
        "pool_reward_fee_address1": 111,
        "pool_reward_fee_address2": 111
    },

    "paymentProcessing": {
        "enabled": true,
        "paymentInterval": 600,
        "minimumPayment": 0.1,
        "daemon": {
            "host": "127.0.0.1",
            "port": 8333,
            "user": "Мой юзер нейм",
            "password": "мой пароль"
        }
    },

 

Надо здесь указать другие адреса:

  "pool_reward_fee_address1": 111,
  "pool_reward_fee_address2": 111

И на них закинуть баланс ?

 

Share this comment


Link to comment

Наверное он не может найти баланс на неопределенном адресе ?

Spoiler

[2019-02-21T07:29:27.666Z] [info] [kz cash] [PaymentProcessor] : Payments to min ers: {"Kpi9c6efmJwvRiqtu3mw6WMa5dxFvhgZLa":"6.26785716"}
[2019-02-21T07:29:27.666Z] [info] [kz cash] [PaymentProcessor] : Ok, going to pa y from "undefined" address with final amounts: {"Kpi9c6efmJwvRiqtu3mw6WMa5dxFvhg ZLa":6.26785716}
[2019-02-21T07:29:27.669Z] [warn] [kz cash] [CoinDaemon] : Daemon returned unexp ected return code 500, data = "{\"result\":null,\"error\":{\"code\":-6,\"message \":\"Insufficient funds.\"},\"id\":1550734167667}\n"
[2019-02-21T07:29:42.166Z] [info] [kz cash] [Pool [:1]] : No new blocks for 55 s econds - updating transactions & rebroadcasting work
 

 

Edited by Zhake

Share this comment


Link to comment
23 минуты назад, Zhake сказал:

 

На одном блоке сейчас 2.08 монет. (https://chain.kz.cash/address/KpTajrCkEH9hQQchoKhZKPKo5tRwu34DeY)

Работаю всего два майнера. Если каждый поделить по полам, должно быть достаточно.

Или я ошибаюсь ?

 

Вот отрывок из настроек:

  Показать содержимое

{
    "enabled": true,
    "coin": "kzcash.json",

    "address": "KpTajrCkEH9hQQchoKhZKPKo5tRwu34DeY",

    "rewardRecipients": {
        "pool_reward_fee_address1": 111,
        "pool_reward_fee_address2": 111
    },

    "paymentProcessing": {
        "enabled": true,
        "paymentInterval": 600,
        "minimumPayment": 0.1,
        "daemon": {
            "host": "127.0.0.1",
            "port": 8333,
            "user": "Мой юзер нейм",
            "password": "мой пароль"
        }
    },

 

Надо здесь указать другие адреса:

  "pool_reward_fee_address1": 111,
  "pool_reward_fee_address2": 111

И на них закинуть баланс ?

 

Проверьте все адреса на соответствие сети.

Замените название "pool_reward_fee_address1" на реальный адрес для выплаты комиссии и "111" на нужный вам % комиссии. В шаблоне две строки для адресов комсы, оставьте один.
В протоколе \"Insufficient funds.\"} как раз и говорит, что арифметика не сходится. Там же в протоколе найдите кому сколько начислено и подбей баланс. Из-за округлений после запятой "теряется" немного, а потом выплата не срабатывает. Закинь на дефолтный кошель несколько монет. Они заполнят образовавшийся "зазор" и сдвинут процесс выплат с мёртвой точки. Пока у тебя не все монеты в дефолтном лежат, а когда уйдут манерам, то на пуле цифра Confirmed изменится.
P.S. Уже изменилась. Поздравляю. Пул работает.

Edited by AndreyNag

Share this comment


Link to comment

Создал новый адрес для комиссий, поплнил баланс на 8 монет, и указал его тут:

"pool_reward_fee_address1": "KhcatHXu3hYW3ozgxCsksrHTSxU3y2CM2W", 

"pool_reward_fee_address2": "KhcatHXu3hYW3ozgxCsksrHTSxU3y2CM2W"

Он сделал выплату по подтвержденным блокам из адреса комисии.

А баланс пула остался без изменений.

 

Share this comment


Link to comment

Не правильно.

Эти строки:
 

Цитата

 

"pool_reward_fee_address1": "KhcatHXu3hYW3ozgxCsksrHTSxU3y2CM2W",

"pool_reward_fee_address2": "KhcatHXu3hYW3ozgxCsksrHTSxU3y2CM2W"

 

 

 

Должны выглядеть так!

"KhcatHXu3hYW3ozgxCsksrHTSxU3y2CM2W": 1

Где 1 пример % комиссии.

Edited by AndreyNag

Share this comment


Link to comment

И так продолжаем....

10. Установим дополнительные пакеты и MySQL

$ apt-get install build-essential libboost-all-dev libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev  mysql-server

Spoiler

Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libdb5.1++-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package libdb5.1-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libdb5.1-dev' has no installation candidate
E: Package 'libdb5.1++-dev' has no installation candidate
[email protected]:~# apt-get install build-essential libboost-all-dev libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libdb5.1++-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package libdb5.1-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libdb5.1-dev' has no installation candidate
E: Package 'libdb5.1++-dev' has no installation candidate
 

 

Решение предложенный тут подойдет ?

https://askubuntu.com/questions/1007270/cant-install-libdb5-1-and-libdb5-1-on-ubuntu-16-04-lts?rq=1

 

 

У меня Ubuntu 16.04

Edited by Zhake

Share this comment


Link to comment
Quote

 

Но нам же все мало.... Нам давай там всякие Апачи, Базы данных MySQL, Регистрацию на пуле. Ну вообщем побольше геморроя...

И так продолжаем....


 

 

Quote

Установим дополнительные пакеты и MySQL

Выполнено

 

Quote

Установим дополнительные пакеты для MPOS пула. И перезапустим apache.

Выполнено

Детали:

Spoiler

~# /etc/init.d/apache2 restart
[ ok ] Restarting apache2 (via systemctl): apache2.service.


 

Quote

 

После данных действий, если вы зайдете на веб страничку вашего сервера должны увидеть как на скриншоте:


 

Открыл адрес где установлен пуд? открывает не страница apache, старица nomp.

 

Это правильно ?

 

Share this comment


Link to comment
1 минуту назад, Zhake сказал:

Открыл адрес где установлен пуд? открывает не страница apache, старица nomp.

 

Это правильно ?

Нет.

Share this comment


Link to comment
2 минуты назад, Zhake сказал:

Как исправить ?

1. Нужно понять как работает связка пача с вэбмордой пула. 

2. Настроить апач по инструкции.

 

Один сервер Апач может поддерживать несколько независимых web-сервисов на одном компе (виртуальные сервера), разнесённых по разным портам одного IP-адреса. А по сему (по логике) в его конфиге должно быть описано, что при поступлении обращения на определённый порт отправлять их в определённую папку, где лежит обработчик (скрипт на питоне, java, php, страница html etc.). 

Share this comment


Link to comment

По документации Apache2, стартовая страница находиться тут - var/www/index.html

 

Проверил, там есть такой файл.

Но так он не открывается - http://pool.nurik.kz/index.html

Кто-то видно перехватывает 80 порт и направляет к nomp.

Подскажите пожайлуста, искать долго.

Share this comment


Link to comment

@maxsun80 , спасибо.

Иду дальше,

Дошел до подключения Postfix.

У меня почта работает через mail.ru.

Внес следующие настройки в main.cf:

Spoiler

# Relaying Postfix SMTP via mail.ru
relayhost = [smtp.mail.ru]:465
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes

smtp_generic_maps = hash:/etc/postfix/generic
smtp_tls_wrappermode = yes
smtp_tls_security_level = encrypt
compatibility_level = 2

 

Отправил пробное письмо:

echo "Hello, I am Zhake" | mail -s "Subject" -aFrom:VPS\<[email protected]\> [email protected]

 

в логе почты вижу следующую информацию:

Spoiler

Feb 23 14:34:23 nurik-kz postfix/pickup[26756]: 57960A7402: uid=0 from=<[email protected]>
Feb 23 14:34:23 nurik-kz postfix/cleanup[27862]: 57960A7402: message-id=<[email protected]>
Feb 23 14:34:23 nurik-kz postfix/qmgr[26757]: 57960A7402: from=<[email protected]>, size=336, nrcpt=1 (queue active)
Feb 23 14:34:48 nurik-kz postfix/smtp[27634]: 3DADEA7401: to=<[email protected]>, relay=smtp.mail.ru[217.69.139.160]:465, delay=241, delays=0.01/0.01/121/120, dsn=4.4.2, status=deferred (conversation with smtp.mail.ru[217.69.139.160] timed out while sending DATA command)
 

 

Что не правильно не понял.

Share this comment


Link to comment

С Postfix не разобрался.

И пока вернулся на nomp.

Как в ней все таки интервал выплат настроить ?

В настройках монеты указал так:

Spoiler

    "paymentProcessing": {
        "enabled": true,
        "paymentInterval": 6000,
        "minimumPayment": 0.5,
        "daemon": {
            "host": "127.0.0.1",
            "port": 8332,
            "user": "Мой логин",
            "password": "Мой пароль"
        }
    },
 

 

Но что он даже при старте показывает:

c293f489c4e3815b7701563e765e3708-prev.pn upload image

 

И выплата делает после каждого блока.

Share this comment


Link to comment

Интервал 6000 секунд у вас.

Это значит выплаты при наличии невыплаченных монет на пуле будут запускаться каждые 6000 секунд.

Как только нашли блок, подтвердился, выплаты прошли, все правильно.

Если например, пул блок примерно  каждые 2000 секунд будет находить, то выплаты будут каждые 6000 секунд идти.

Понятно так?

Share this comment


Link to comment
3 минуты назад, maxsun80 сказал:

Интервал 6000 секунд у вас.

Это значит выплаты при наличии невыплаченных монет на пуле будут запускаться каждые 6000 секунд.

Как только нашли блок, подтвердился, выплаты прошли, все правильно.

Если например, пул блок примерно  каждые 2000 секунд будет находить, то выплаты будут каждые 6000 секунд идти.

Понятно так?

Да, так. Выплаты будут производиться через установленный интервал тем майнерам, счета которых достигли порога выплат. Тем самым можно регулировать периодичность не только интервалом запуска механизма выплат, но и изменением порогового значения ("minimumPayment": 0.5), чтобы выплаты были не слишком частыми.

Edited by AndreyNag

Share this comment


Link to comment

Доброе время суток,

 

Дошел до этого места:

# Заходим через браузер на ip вашего сервера http://ваш_ip_адрес_сервера# Должна загрузиться стартовая страница MPOS пула

Я MPOS установил в каталоге /root/mpos.

У меня не открывается страница MPOS, открывается по прежнему страница Apache2.

 

Скрины прилагаю.

WebMin_1.png

WebMin_2.png

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...