Нода является элементом безопасности сети. У сети bitcoin 11845 нод. У ethereum – 27000 нод. У nem – 630 нод, что очень мало. Даже у bitshares, известного малым количеством нод и высокой скоростью – 20 основных и 80 запасных нод.
Надо с этим что-то делать. Поднимая отдельную ноду nem – вы увеличиваете безопасность и качество сети и стоимость валюты nem.
Нода nem с vested балансом 10000 nem приносит некоторый доход. Вероятность поимки блока, а следовательно и количество падающих с ноды немов зависит от важности кошелька, а так же от vested баланса. Блоки ловятся от 1 раза в месяц. В блоке обычно 5-100 nem. 100 немов комиссии в блоке вызвано, видимо аирдропами с wechat. То есть при цене 1 доллар за нем , нода приносит от 5 до 300 долларов в месяц. С развитием сети и увеличением количества транзакций сумма, которую приносит нода, будет увеличиваться, поскольку в блоке будет больше транзакций.
В отличие от делегированного харвестинга своя нода при задаваемых настройках может автоматически подниматься при перезагрузке системы и включать харвестинг с помощью delegated private key. Чужая нода при этом включает только свой харвестинг. Все подключенные к ней кошельки теряют активный харвестинг. То есть, если нет возможности или желания постоянно проверять через nano-wallet статус харвестинга, то нужно поднимать свою ноду и ставить на ней автозагрузку, чем мы и займемся в данной статье.
Для экспериментов использовалась Debian 8.0 (можно использовать и Debian 8.4), размер оперативной памяти 1Гб. В качестве основы для руководства использовалось руководство с официального сайта.
Для установки ноды nem нам понадобится:
- арендованный vps сервер с операционной системой Debian;
- root аккаунт с возможностью доступа по SSH;
- на домашнем компьютере программа поддерживающая коннект по SSH;
- midnight commander или другая такая программа поддерживающая коннект по SSH и копирование, перемещение, удаление и правку файлов при этом;
- кошелек nem (на котором более 10000 vested баланс, желательно, но можно делать и на пустом кошельке), надо знать delegated private key.
Краткое содержание
Как получить delegated private key?
Заходим в nano-wallet, вкладка services, раздел manage delegated account – справа в графе reveal delegated private key вводим пароль и копируем delegated private key.
С помощью delegated private key, нельзя, в отличие от private key, украсть средства, но можно оперировать важностью кошелька, поэтому сообщать его публично не следует.
Создаем файл подкачки
Для подключения использовался PuTTY SSH и Midnight Commander.
Подключаемся через PuTTY SSH, входим на сервер как root. По умолчанию логин идет в папку /root/
Создаем swap файл
Даем следующие команды. По очереди:
su
dd if=/dev/zero of=/swapfile bs=1024 count=2097152
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
cp /etc/fstab /etc/fstab.bak
echo ‘/swapfile none swap sw 0 0’ | tee -a /etc/fstab
Если создается с ошибками, то ошибки не исправляем.
Устанавливаем Java
su
echo “deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main” | tee /etc/apt/sources.list.d/webupd8team-java.list
echo “deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main” | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv-keys EEA14886
apt-get update
apt-get install oracle-java8-installer
Здесь ошибок быть не должно. Java необходима для работы.
Загрузка NIS
Заходим на сайт bob.nem.ninja и ищем самую свежую версию NIS. Сейчас это nis-0.6.95.
Выполняем команды:
wget http://bob.nem.ninja/nis-0.6.95.tgz
tar -xvzf nis-0.6.95.tgz
Распаковывает файл, а именно папку package, где все содержится, по умолчанию файл скачивается в папку root, в этой же папке потом автоматически будет создана папка /root/nem
rm nis-0.6.95.tgz
Удаляем архив, необязательно.
mkdir nis
Делаем в корневой папке папку nis, где все будет лежать.
mv package nis/package
Перемещаем папку package в папку /nis/package
Конфигурирование NIS
Теперь надо создать файлы в папке /nis/. Создаем файл config-user.properties. Вообще он ни на что не влияет, но в официальном руководстве написано – создавать, значит – создаем! На рабочем столе делается пустой файл с таким именем. В него добавляются записи:
nis.bootKey = delegated private key
Чтобы при старте подтягивать ваш кошелек для харвестинга вписываем свой delegated private key.
nis.bootName = NAME (любое имя)
nis.shouldAutoHarvestOnBoot = true
Чтобы харвестинг сразу стартовал при загрузке ноды ставим true. Файл с этими тремя записями загружаем на сервер в папку /nis/. Если непонятно как делаются записи в файле можно скачать себе папку package на рабочий стол и посмотреть для образца файл /package/nis/config.properties. Создаем там же в /nis/ скрипт nisStart.sh. Копируем файл:
cp package/nix.runNis.sh nisStart.sh
Либо копируем через Midnight commander файл /nis/package/nix.runNis.sh в файл /nis/package/nisStart.sh. Потом открываем файл nisStart.sh и редактируем чтобы предотвратить падение ноды от нехватки памяти. Далее строки оставляем без изменений.
После создания этого файла откройте его и проверьте правильно ли прописаны все пути, при необходимости скорректируйте!
Через ssh переходим в папку /nis/ и находясь в ней даем команду:
chmod +x nisStart.sh
Это необходимо, чтобы стартер ноды мог запускаться и выполняться. Итого в папке /nis/ должны лежать файлы nisStart.sh, config-user.properties. Теперь приступаем к конфигурированию главного файла ноды (он как раз влияет на все). Файл содержится в /nis/package/nis/config.properties.
Через Midnight Commander в нем надо через редактирование заполнить следующие поля, убрав предварительно знак #:
nis.bootKey = def0123456789abcdef0123456789abcdef0123456789abcdef
nis.bootName = name
Либо через Midnight Commander скачать файл на рабочий стол. Отредактировать на локальном компьютере и подгрузить обратно в папку /nis/package/nis/.
Запуск ноды и создание папок для базы блокчейна
Запускаем скрипт из PuTTY SSH , соединившись с сервером ноды:
/nis/nisStart.sh
После того, как процесс запустится, через минуту можно прервать нажав Ctrl+C. Структура папок будет создана. База будет хранится в папке /root/nem/nis/data. Теперь надо загрузить базу в эту папку, из папки /root/ делаем команды из по SSH:
wget
apt-get install unzip
unzip nis5_mainnet.h2-1380k.db.zip
rm nis5_mainnet.h2-1380k.db.zip
mv nis5_mainnet.h2.db nem/nis/data/
Можно так же перенести эту базу данных nis5_mainnet.h2.db с локального компьютера через Midnight commander в папку /root/nem/nis/data/. В будущем на сайте bob.nem.ninja нужно проверять актуальную версию базы перед скачиванием.
Запуск ноды nem
После того, как база скачана запускаем через PuTTY SSH из папки /nis/, командой запускаем ноду:
nohup ./nisStart.sh </dev/null >/dev/null 2>/dev/null &
Готово. Можно отсоединиться от сервера.
Проверка ноды
Забиваем в адресную строку браузера “IPвашего_сервера:7890/node/extended-info”. Если отображается версия и статус nis ноды, значит она работает. Продолжение, как сделать так, чтобы нода nem автоматически поднималась при рестарте или падении сервера – в следующей статье.
Продажа намайненых XEM
Намайненые немы вы можете либо оставить в долгосрок, увеличивая “мощность” и потенциал своей ноды, или же продать и получить фиат. Если вы выбираете второе, тогда я позволю себе посоветовать вам биржу для альткоинов: binance.com.