Криптовалюта EmerCoin предлагает огромное количество интересных возможностей, которых нет не только у других форков, но и у BitCoin. Однако, чтобы в полной мере воспользоваться всеми преимуществами этой криптовалюты, необходимо поднять собственный сервер с демоном EmerCoind. Это статья представляет собой инструкцию по установке демона EmerCoin на VPS под управлением Debian 7.
Для тестов был выбран ВПС за 5$ от компании DigitalOcean с OS Debian 7 х64.
Первое, что нам потребуется, это скачать файл кошелька последней версии.
wget http://downloads.sourceforge.net/project/emercoin/0.3.6/emercoin-0.3.6-linux.tar.gz
Теперь можно распаковать архив:
tar xzf emercoin-0.3.6-linux.tar.gz
Так как мы используем 64-битную систему, нужно скопировать файл emercoind из папки emercoin-0.3.2-linux/bin/64/
mv emercoin-0.3.2-linux/bin/64/emercoind /usr/bin/
Теперь создадим пользователя, от которого будем запускать демона
mkdir /home/emc
addgroup --gid 1000 emc
adduser --home /home/emc --shell /bin/false --no-create-home --uid 1000 --gid 1000 emc
adduser emc emc
Создадим скрытый каталог .emercoin и в нём файл конфигурации emercoin.conf:
cd /home/emc
mkdir .emercoin
cd .emercoin
nano emercoin.conf
Вот типовой файл конфигурации:
rpcuser=emccoinrpc
rpcpassword=очень_длинный_и_сложный_парольlisten=1
server=1
rpcallowip=127.0.0.1
rpcport=8775maxconnections=80
gen=0
reservebalance=5
daemon=1emcdns=0 # Activate DNS
emcdnsallowed=.coin|.emc|.lib|.bazar # Allowed TLDs
emcdnsverbose=4
- server - указывает на то, что этот узел будет являться «серверным»
- gen=0 - отключает автоматический майнинг монет на процессоре
- rpcport/user/password - задаёт значения для коммуникации и приём/отдачу команд кошельком
- rpcallowip - здесь нужно перечислить IP, с которых можно обращаться к клиенту
Сохраняем и закрываем редактор комбинацией клавиш ctr+x и ставим права только на чтение для этого файла:
chmod 0400 emercoin.conf
Указываем владельца директории /home/emc и всех вложенных файлов:
chown -R emc:emc /home/emc/
Теперь залогинимся под нашим пользователем и запустим кошелёк. Ключ -s указывает, какой именно шелл использовать (помните мы указали бинарник false в качестве шелла для пользователя? простой логин под юзером emc просто завершит сеанс)
su -s /bin/bash emc
emercoind
Появится сообщение:
emercoin server starting
После этого нагрузка на сервер резко возрастет. Около получаса кошелек emercoin будет синхронизироваться с блокчейном, после синхронизации нагрузка придет в норму.
Команда
emercoind getinfo
покажет текущую ситуацию:
{
"version" : "v0.3.0emc-18-gddeac0f-beta",
"protocolversion" : 60003,
"walletversion" : 60000,
"balance" : 0.00000000,
"newmint" : 0.00000000,
"stake" : 0.00000000,
"blocks" : 106379,
"moneysupply" : 35380182.02903000,
"connections" : 13,
"proxy" : "",
"ip" : "XX.XXX.XX.XXX",
"difficulty" : 8407530.87792009,
"testnet" : false,
"keypoololdest" : 1434370307,
"keypoolsize" : 101,
"paytxfee" : 0.01000000,
"errors" : ""
}
Теперь можно разлогиниться
exit
и перейти к настройке демона.
Настройка демона
Перейдем в каталог со "сценариями" /etc/init.d/ и скопируем шаблон:
cd /etc/init.d/
cp skeleton emercoind
Откроем файл для редактирования, и внесём изменения:
nano emercoind
#! /bin/sh
### BEGIN INIT INFO
# Provides: emercoind
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Auto init EmerCoin
# Description: Auto init EmerCoin via booting system
### END INIT INFO# Author: Author: Foo Bar
#
# 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 script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Emercoin daemon"
NAME=emercoind
DAEMON=/usr/sbin/$NAME
DAEMON_ARGS=""
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
CHUID=emc:emc# 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 --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --chuid $CHUID --pidfile $PIDFILE --exec $DAEMON -- \
$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.
Какие данные нужно изменять:
- Provides: emercoind - задаём название
- Short-Description/Description — описание того, что делает данный файл
- DESC="Emercoin daemon" - описание сервиса
- NAME=emercoind название исполняемого файла
- DAEMON=/usr/bin/$NAME - полное имя файла (не забудьте исправить sbin на bin в шаблоне)
- DAEMON_ARGS="-daemon" - задаём аргументы запуска: кошелёк должен стартовать в фоновом режиме демона. Так как у нас в конфиге emercoin.conf уже определен режим демона (daemon=1), аргумент можно не указывать.
- start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ -меняем на start-stop-daemon --start --quiet --chuid $CHUID --pidfile $PIDFILE --exec $DAEMON -- \
Сохраняем файл crtlr+x и выставляем ему права:
chmod 0755 emercoind
Теперь почти все готово. Выполним команду
/etc/init.d/emercoind
перед нами появится список возможных действий:
Usage: /etc/init.d/emercoind {start|stop|status|restart|force-reload}
Команда
/etc/init.d/emercoind start
запустит демон emercoind
Чтобы наш демон автоматически стартовал при запуске сервера, выполним команду:
update-rc.d emercoind defaults
Теперь можно перезапустить систему
reboot
Если после рестарта все запустилось, значит система настроена верно.
Комментарии:
admin
#
Небольшое дополнение. Чтобы дать доступ к кошельку с нескольких IP, нужно указать каждый с новой строки, например:
rpcallowip=127.0.0.1
rpcallowip=192.168.1.141
чт, 06/18/2015 - 22:54
Emer
#
su -s /bin/bash emc
Простит ввести пароль, ввожу.
После этого ввожу: emercoind
он пишет Permission denied
Что не так?
emc@EMC-M:~/.emercoin$ su -s /bin/bash emc emercoind
Password:
emc@EMC-M:~/.emercoin$ emercoind
bash: /usr/bin/emercoind: Permission denied
чт, 12/03/2015 - 17:15
admin
#
Если выполнять su -s /bin/bash emc под рутом, то пароль не должен спрашивать
Попробуйте пропустить этот шаг и настройте демон (далее по инструкции) и затем попробуйте запустить через /etc/init.d/emercoind
чт, 12/03/2015 - 17:26
Emer
#
Да, все сделал по инструкции но он молчит, проклятый:
root@EMC-M:/etc/init.d# /etc/init.d/emercoind
root@EMC-M:/etc/init.d#
Списка возможных действий не выводит почему-то.
Может ли быть проблемой что у меня другой линукс - Ubuntu Server 64х?
чт, 12/03/2015 - 18:53
Анонимус
#
Да, все сделал по инструкции но он молчит, проклятый:
root@EMC-M:/etc/init.d# /etc/init.d/emercoind
root@EMC-M:/etc/init.d#
Списка возможных действий не выводит почему-то.
Может ли быть проблемой что у меня другой линукс - Ubuntu Server 64х?
чт, 12/03/2015 - 18:35
admin
#
Попробуйте поменять права на файл:
и запустите демон кошелька
чт, 12/03/2015 - 19:45
Emer
#
Тоже самое, ноль реакции.
чт, 12/03/2015 - 20:13
admin
#
А если просто запустить /usr/bin/emercoind ?
Какие ошибки выводит?
чт, 12/03/2015 - 20:50
Emer
#
Error: To use emercoind, you must set a rpcpassword in the configuration file:
/root/.emercoin/emercoin.conf
It is recommended you use the following random password:
rpcuser=emercoinrpc
rpcpassword=******************************************************* (большой пароль)
(you do not need to remember this password)
If the file does not exist, create it with owner-readable-only file permissions.
чт, 12/03/2015 - 21:19
admin
#
Теперь более-менее понятно. Видимо демон не может запустить кошелек от имени пользователя emc, а чтобы запуститься от рута ему не хватает конфига в нужной папке. Скорее всего ошибка произошла на этапе создания пользователя.
Под пользователем emc можете войти?
В общем запустите /usr/bin/emercoind от пользователя emc, если будет ругаться на Permission denied, то попробуйте сделать
под рутом
чт, 12/03/2015 - 21:35
Анонимус
#
Запустить получилось, но дальше по инструкции, где создание демона по шаблону, процесс не идет
root@EMC-M:/etc/init.d# chmod 0755 emercoind
root@EMC-M:/etc/init.d# /etc/init.d/emercoind
root@EMC-M:/etc/init.d#
пт, 12/04/2015 - 11:23
admin
#
Если получилось запустить от пользователя emc, значит все ок. /etc/init.d/emercoind запускает кошелек от имени emc и если он руками запустился, то должен запуститься и через /etc/init.d/emercoind start
пт, 12/04/2015 - 21:12
Emer
#
Спасибо за помощь, все получилось.
Хочу обратить внимание, что кое-что в тексте устарело:
актуальная версия: wget http://downloads.sourceforge.net/project/emercoin/0.3.6/emercoin-0.3.6-linux.tar.gz
Aрхив: 7z x emercoin-0.3.6-linux.tar.gz и еще раз извлечь 7z x emercoin-0.3.6-linux.tar
И в скелетоне, в примере, желательно поправить: sbin -> bin а то не совсем понятно правильный ли это шаблон или нет.
вт, 12/08/2015 - 18:41
admin
#
Отлично, очень рад, что все получилось. Ссылки сейчас обновлю.
Тут как раз проявляется различие между Debian и Ubuntu
ср, 12/09/2015 - 09:33
Олег
#
Вопрос есть)
Делал не по вашей схеме, а по своей...но не суть дела....
клиент не работает с rpc call?
вообщем делал из под мастера вышла "version" : "v0.3.7emc-2-g035d68c-beta",, все данные собираются кроме кошелька вернее через гетинфо все нормально, а вот при обращении через веб интерфейс выдает ошибку....пытаюсь запустить на мпосе это все дело, но кидаю с зависимостью через юномп т.к. мне порты нужны разные...говорит при старте через юномп Could not start pool, error with init batch RPC call: {"code":-32700,"message":"Parse error"} есть возможность помочь? или просто скажите какая версия поддерживает рпц запросы нормально?
сб, 01/16/2016 - 22:36
admin
#
Скорее всего проблема в конфиге кошелька. У меня на пуле стоит версия 0.3.7 и все работает нормально.
Проверьте чтобы конфиг кошелька лежал у пользователя, под которым стартует кошелек.
вс, 01/17/2016 - 21:16
Олег
#
Самое интересное, что поставив 0.4 все нормально работает....Вы можете скинуть копию Вашего emercoind на почту [email protected] буду Вам чрезвычайно признателен
вт, 01/19/2016 - 02:50
Олег
#
Вот кстате конфиг
server=1
daemon=1
listen=1
rpcuser=акк
rpcpassword=пасс
rpcport=8775
maxconnections=8
rpcallowip=127.0.0.1
blockmaxsize=1000000
paytxfee=0.01
emcdns=0 # Activate DNS
emcdnsallowed=.coin|.emc|.lib|.bazar # Allowed TLDs
emcdnsverbose=4
вт, 01/19/2016 - 02:51
admin
#
В Debian 8 настройка демона происходит еще проще:
Создаем файлик emercoin.service в папке /etc/systemd/system/
С таким содержимым:
После этого активируем сервис
пн, 07/04/2016 - 17:27
adm
#
Для Debian 7 wheezy зависимости при компилляции:
sudo apt-get install libcurl4-openssl-dev libminiupnpc-dev libboost1.49-dev libboost-filesystem1.49-dev libboost-system1.49-dev libboost-program-options1.49-dev libboost-thread1.49-dev libdb5.1++-dev
вт, 07/12/2016 - 05:08
Adam
#
Мужики есть у меня 100 тысяч думаю вот какие видео карты взять и процессор
ср, 06/14/2017 - 02:27