Перейти к содержанию
  • записи
    4
  • комментариев
    428
  • просмотр
    65 641

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


igorwhite

96 782 просмотра

Создание собственного пула 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 <poolcrypto.org@gmail.com>## 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

229 Комментариев


Рекомендуемые комментарии



@malorik 

Насколько смог разобраться основная инфа хранится в самом кошельке и mysql базе.

Думаю вам достаточно будет перенести базу и wallet.dat (если только у Вас кошелек не на отдельном разделе крутится).

Ссылка на комментарий

Добрый день. Если будет ноутбук с Ubuntu 16.04 практически постоянно включенный, отконфигурированный так как указано в инструкции. Сколько в среднем можно майнить в месяц?  

Ссылка на комментарий
49 минут назад, Oleg Shevtsov сказал:

Сколько в среднем можно майнить в месяц?  

Зависит от того сколько на нём мощностей крутится и какая комиссия. Сильно зависит от соотношения мощности пула и сети. За определённым пределом выплаты fee станут меньше минимальной транзакции и сеть не пропустит такую выплату. Ну и ноутбук - это последний вариант, на который бы я пошел при выборе платформы для пула. Ноут по определению медленнее классического компа, а время реагирования на происходящие при майнинге процессы является критичным для успешности добычи.

Изменено пользователем AndreyNag
Ссылка на комментарий

Кто может помочь?

Нужен простой пул на 1 монету на Х11.

Не для заработка, скорее для эксперимента и поддержки сети монеты.

Ссылка на комментарий
22 минуты назад, maxsun80 сказал:

Кто может помочь?

Нужен простой пул на 1 монету на Х11.

Не для заработка, скорее для эксперимента и поддержки сети монеты.

Что за монета и какая помощь нужна?

Ссылка на комментарий

мучаюсь с мержедом. в варианте когда убираешь квадратные скобки массива - unomp запускается без ошибок и работает:

"auxes": 
        {
            "coin": "namecoin.json",
            "daemons": redundancy
                {
                    "host": "127.0.0.1",
                    "port": 8336,
                    "user": "user",
                    "password": "pass"
                }
       },
но не знаю работает ли в таком варианте мержед - что-то мне кажется что нет(.

В этом варианте:

 "auxes": [ // Defines auxillery coins
        {
            "coin": "namecoin.json",
            "daemons": [ // It is reccomended to supply multiple daemons here for redundancy
                {
                    "host": "127.0.0.1",
                    "port": 8336,
                    "user": "user",
                    "password": "pass"
                }
            ]
        }
    ],

при запуске пул ругается на:

[2018-02-09 12:53:02.034] [INFO] [default] - New Relic
[2018-02-09 12:53:02.037] [DEBUG] [default] - NewRelic Monitor New Relic initiated
[2018-02-09 12:53:02.039] [INFO] [default] - Setting POSIX
[2018-02-09 12:53:02.039] [INFO] [default] - POSIX Set
[2018-02-09 12:53:02.040] [INFO] [default] - Run Workers
[2018-02-09 12:53:02.868] [INFO] [default] - New Relic
[2018-02-09 12:53:02.873] [INFO] [default] - Setting POSIX
[2018-02-09 12:53:02.873] [INFO] [default] - POSIX Set
[2018-02-09 12:53:02.874] [INFO] [default] - Run Workers
[2018-02-09 12:53:02.885] [INFO] [default] - Switching Setup Thread 1 Loading last proxy state from redis
[2018-02-09 12:53:02.897] [DEBUG] [default] - Pool bitcoin Thread 1 Share processing setup with redis (127.0.0.1:6379)

buffer.js:188
        throw new TypeError('First argument needs to be a number, ' +
              ^
TypeError: First argument needs to be a number, array or string.
    at new Buffer (buffer.js:188:15)
    at Object.exports.uint256BufferFromHash (/home/admin/unomp/node_modules/merged-pooler/lib/util.js:54:19)
    at /home/admin/unomp/node_modules/merged-pooler/lib/pool.js:743:80
    at itemFinished (/home/admin/unomp/node_modules/merged-pooler/lib/daemon.js:156:36)
    at /home/admin/unomp/node_modules/merged-pooler/lib/daemon.js:169:17
    at parseJson (/home/admin/unomp/node_modules/merged-pooler/lib/daemon.js:85:17)
    at IncomingMessage.<anonymous> (/home/admin/unomp/node_modules/merged-pooler/lib/daemon.js:95:17)
    at IncomingMessage.EventEmitter.emit (events.js:117:20)
    at _stream_readable.js:920:16
    at process._tickCallback (node.js:415:13)

Изменено пользователем gelezo
Ссылка на комментарий

Подскажите пожалуйста, при регистрации нового пользователя на mpos ругается на  Coin address is not valid. Как решить эту проблему ?

Ссылка на комментарий
1 час назад, Skadzhar сказал:

Подскажите пожалуйста, при регистрации нового пользователя на mpos ругается на  Coin address is not valid. Как решить эту проблему ?

А попробуй без MPOS. Проверь UNOMP правильно взаимодействует с демоном и майнером? 

Ссылка на комментарий
1 минуту назад, AndreyNag сказал:

А попробуй без MPOS. Проверь UNOMP правильно взаимодействует с демоном и майнером? 

Майнер не коннектится к порту 3333, Failed to connect to 192.168.16.245 port 3333: Connection refused

Ссылка на комментарий
6 минут назад, Skadzhar сказал:

Майнер не коннектится к порту 3333, Failed to connect to 192.168.16.245 port 3333: Connection refused

Сначала надо добиться, чтобы пул поднялся и открыл порт 3333.
Подключить майнер и добиться решения шар.
Далее можно заморачиваться с MPOS и прочими украшательствами. Без MPOS всё прекрасно работает. http://gigablock.mine.nu/getting_started

Ссылка на комментарий
11 минуту назад, AndreyNag сказал:

Сначала надо добиться, чтобы пул поднялся и открыл порт 3333.
Подключить майнер и добиться решения шар.
Далее можно заморачиваться с MPOS и прочими украшательствами. Без MPOS всё прекрасно работает. http://gigablock.mine.nu/getting_started

поднимется ли пул до того, как биток полностью синхронизируется ?

Ссылка на комментарий
18 минут назад, Skadzhar сказал:

поднимется ли пул до того, как биток полностью синхронизируется ?

Пул поднимается, но порт может не отвечать. Надо смотреть протоколы и демона и пула. Подсказать где искать?

P.S. А вы точно уверены, что сможете копать bitcoin в соло? :blink: Для экспериментов возьмите маленькую и быструю монетку. 

Изменено пользователем AndreyNag
Ссылка на комментарий
В ‎14‎.‎02‎.‎2018 в 11:32, gelezo сказал:

при запуске пул ругается на:

[2018-02-09 12:53:02.034] [INFO] [default] - New Relic
[2018-02-09 12:53:02.037] [DEBUG] [default] - NewRelic Monitor New Relic initiated
[2018-02-09 12:53:02.039] [INFO] [default] - Setting POSIX
[2018-02-09 12:53:02.039] [INFO] [default] - POSIX Set

Не пробовали просто тупо установить POSIX?

В ‎05‎.‎03‎.‎2018 в 15:20, Skadzhar сказал:

поднимется ли пул до того, как биток полностью синхронизируется ?

Пока кошелёк не синхронизируется о майнинге можно забыть.

Ссылка на комментарий

Народ подскажите, как правильно diff и vardiff конфигурить

на примере даша

Ставлю

                "port": 3032,
                "diff": 16,
        "vardiff": {
            "enabled": true,
            "minDiff": 16,
            "maxDiff": 128,
            "targetTime": 15,
            "retargetTime": 60,
            "variancePercent": 30
со временем появляются много реджектов

по какой формуле расчитываются

Ссылка на комментарий

Попробуй отодвинуть верхний предел сложности ("maxDiff": 128) до недостижимой цифры, чтобы пул с майнером сами договаривались не стесненные узкими рамками.
Как правило недостаточная сложность и порождает проблемы с асиками. Включенный режим переменной сложности позволит со временем назначить такую, сложность, которая будет оптимально использовать ресурсы асика для расчета шар на данном конкретном пуле.

Ссылка на комментарий

Выставил 8196 макс

теперь реджектов больше чем асептов))

Судя по логу diff в зависимости от сложности со временем снижается и тут идут реджекты с коментом что сложность низкая

когда vardiff отключаю и высиавляю 16 реджектов нету

03/22/2018 01:57:09 +00:00 [Debug] [ShareManager] [Dash] Rejected share by miner Xeuih6m8HfXQkhMFBXF7Pvw9TCWEiAFjo4, reason: Low difficulty share of: 0,00
03/22/2018 01:57:21 +00:00 [Debug] [ShareManager] [Dash] Rejected share by miner Xeuih6m8HfXQkhMFBXF7Pvw9TCWEiAFjo4, reason: Low difficulty share of: 0,00
03/22/2018 01:57:21 +00:00 [Debug] [VardiffManager] [Dash] Difficulty updated to 71.35889 for miner: Xeuih6m8HfXQkhMFBXF7Pvw9TCWEiAFjo4
03/22/2018 01:57:26 +00:00 [Debug] [ShareManager] [Dash] Share accepted at 0.00/71.35889 by miner Xeuih6m8HfXQkhMFBXF7Pvw9TCWEiAFjo4
 

Ссылка на комментарий

Сделал инструкцию как поднять NOMP на алгоритме YescryptR16 - http://www.bubasik.com/yiimp-pool-install-ubuntu-guide-16-04-server-and-setup-elicoin/

 

Может кому будет полезно. В примере описана настройка под монету Elicoin, можно легко поднять и под Yenten а также другие алгоритмы, которые сразу есть в NOMP (yescryptR16 в нём сразу небыло).

 

Обсуждаем в отдельной ветке на форуме - https://forum.bits.media/index.php?/topic/87490-установка-и-настройка-nomp-пулов-faq-инструкции-вопросы/

Изменено пользователем bubus
Ссылка на комментарий

Я новичок (опасное ныне слово)), первый опыт по созданию пула. Начал по инструкции на Сервер Ubuntu 18.04.1 LTS, но при вводе команды 

sudo apt-get install libboost-all-dev git mc htop npm nodejs nodejs-legacy libminiupnpc-dev redis-server

выдает: пакет mc недоступен...

не удалось найти пакет libboost-all-dev

не удалось найти пакет dit

для пакета "mc" не найден кандидат на установку

не удалось найти пакет nmp

не удалось найти пакет nodejs

не удалось найти пакет nodejs-legasy

не удалось найти пакет redis-server

 

Понимаю, что не исправив это дальше продолжать смысла нет. Но как исправить не знаю. Подскажите, пожалуйста!

Ссылка на комментарий

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

 

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

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

$ ulimit -n
$ ifconfig

Результаты:

root:~# ulimit -n
1024
 

root:~# ifconfig

Spoiler

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:121 errors:0 dropped:0 overruns:0 frame:0
          TX packets:123 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:16120 (16.1 KB)  TX bytes:20785 (20.7 KB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:204.44.85.190  P-t-P:204.44.85.190  Bcast:204.44.85.190  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
 

 

После внесения изменений, перезагружал ВПС.

 

Не совпадают со скриншотом.

Файл конфига /etc/rc.local такой:

Spoiler

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/sbin/ifconfig eth0 txqueuelen 10000

exit 0
 

 

 

Ubuntu 16.04 64 Bit

На этом этапе все правильно ?

Изменено пользователем Zhake
Ссылка на комментарий

С лимитами разобрался. Для Ubuntu 16.04 их надо ввести так:

Spoiler

* soft nofile 1000000
* hard nofile 1000000
root soft nofile 1000000
root hard nofile 1000000

Т.е. 4 строки должно быть.

 

Теперь на счет буфера сетевой платы.

Я все это делаю на купленном ВПС, там eth0 нету.

~# ifconfig

Spoiler

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00        -00
          inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.        255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:206 errors:0 dropped:0 overruns:0 frame:0
          TX packets:215 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:24860 (24.8 KB)  TX bytes:32781 (32.7 KB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00        -00
          inet addr:204.44.85.190  P-t-P:204.44.85.190  Bcast:204.44.85.190  Mas        k:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

 

 

На какой надо установить ?

venet0 ?

 

Ссылка на комментарий

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...