Установщик Идена в виде bash скрипта. Позволяет устанавить множество нод Idena-Go на ваш сервер в виде простого и понятного мастера с дружественным интерфейсом.
Рекомендации от команды (на ОДНУ ноду):
- 1 ЦПУ от 2.5 ГГц.
- 2 ГБ ОЗУ.
- 20 ГБ SSD/HDD.
- Порт от 100 Мбит/сек.
- Ubuntu 18.04 и выше.
На период валидации, во избежание перегрузки сервера, на случай оверсейла VPS, можно добавить 1-2 CPU.
- Нода (которую мы устанавливаем) — создаёт блоки, занимается майнингом. Обновляется автоматически, с помощью данного скрипта, для бесперебойной работы.
- Клиент — позволяет взаимодействовать с кошельком, оракулом, делать флипы и проходить валидации через графический интерфейс. Самый простой способ доступа к клиенту — через официальный веб-интерфейс, также есть официальное десктопное приложение для Windows, MacOS и Linux.
☆ Внимание: для работы веб интерфейса, вам поребуется API ключ (англ. Shared Node API KEY).
Приобрести API ключ можно у меня (первая валидация бесплатная), либо в маркет плейсе, при переходе в настройки вашего аккаунта, после авторизации.
Пожалуйста убедитесь, что у вас установлена ОС Ubuntu 18.04 и выше. Для установки ноды идена-гоу, используя данный скрипт, вам нужно выполнить 4 простых шага:
apt-get install -y git
устанавливаем пакет gitgit clone https://github.com/ltraveler/idena-runner.git
клонируем репозиторийcd idena-runner
переходим в директорию скриптаchmod +x idena_install.sh
делаем скрипт исполняемым./idena_install.sh
запускаем скрипт
- Устанавливать несколько нод на одном сервере — один пользователь = одна нода.
- Импортировать существующие приватные ключи и нодкеи во время процесса установки.
- Автоматически обновлять ноду idena-go crontask задачей.
- Автоматически настраивать порты для Uncomplicated Firewall (UFW) во время установки ноды.
- Возможность установить
idena-go
как шаред ноду, с указанием всех наиболее важных параметров.
- Проверяет существует ли сервис idena.service.
- Создаёт нового пользователя и пароль для запуска демона ноды идена от его имени.
- Обновляет необходимые пакеты и устанавливает всё необходимое для стабильной работы ноды.
- Скачивает последнюю версию клиента ноды Idena или той версии, которая была введена вручную в процессе установки. Если пользователь ничего не вводит, скачивает самую последнюю версию. История релизов сервера ноды idena-go.
- Для продвинутых пользователей — скрипт использует предопределённый разработчиками конфигурационный файл
config.json
. Файл можно редактировать во время процесса установки. - Устанавливает и запускает ноду Idena-go на базе конфигурационного файла config.json из репозитория.
- Заменяет во время установки
private key
иnodekey
на ваш собственный, если он у вас есть. - Создает задание cron для регулярной проверки обновлений для ноды. По умолчанию проверка происходит раз в день. Вы можете установить любую периодичность с помощью языка cron.
- Создает и запускает демон Idena.
- Устанавливает и настраивает фаервол для добавления в него всех необходимых портов на основе выставленных номеров портов SSH и IPFS из конфигурационного файла.
- Скрипт добавляет
--profile=shared
в качестве аргумента для запуска сервиса шаред ноды; - Вы можете указать наиболее критичные параметры:
BlockPinThreshold
,FlipPinThreshold
,AllFlipsLoadingTime
- Значения по умолчанию:
BlockPinThreshold
=0.3
FlipPinThreshold
=1
AllFlipsLoadingTime
=7200000000000
- Значения по умолчанию:
Скрипт создаёт демон-сервис который называется idena_$username. Сервис запускается при запуске системы, на стадии начальной инициализации. Таким образом обеспечивая бесперебойную работу ноды.
service idena_$username status
проверка статусаservice idena_$username restart
перезапускservice idena_$username stop
остановка демонаservice idena_$username start
запуск демона
*здесь $username это имя пользователя, от которого запускается демон
Начиная с версии 0.3.0 скрипт может быть запущен в полностью автоматическом (тихом) режиме.
В котором все или часть ответов на вопросы мастера установки, могут быть переданы через командную строку.
флаги:
-u
или --username
- username
-p
или --password
- password в случае использования -u
без -p
имя пользователя и пароль будут одинаковыми
-s
или --shared
- установка клиента idena-go в качестве шаред ноды
-v
или --version
- версия клиента idena-go или аргумент latest для скачивания последней доступной версии
-b
или --blockpinthreshold
- Block Pin Threshold если не указано, при указании -f
и/или l
будет взято значение по умолчанию [0.3
]
-f
или --flippinthreshold
- Flip Pin Threshold если не указано, при указании -b
и/или l
будет взято значение по умолчанию [1
]
-l
или --allflipsloadingtime
- All Flips Loading Time если не указано, при указании -b
и/или f
будет взято значение по умолчанию [7200000000000
]
-r
или --rpcport
- RPC Port известный также как HTTP Port
-i
или --ipfsport
- IPFS Port
-k
или --privatekey
- Приватный ключ Идены для импорта известный также как nodekey /datadir/keystore/nodekey
-a
или --apikey
- Идена API ключ ноды для импорта /datadir/api.key
-d
или --updatefreq
- Частота обновления в формате CRON expression
За исключением флага -s
или --shared
, все остальные флаги требуют обязательного указания аргумента внутри '' (знак апострофа)
Например, для установки ноды в полностью автоматическом режиме:
./idena_install.sh -u 'ratel' -p 'ratel' -s -v 'latest' -b '0.3' -f '1' -l '7200000000000' -r '9189' -i '41283' -k '6e17f7490f7922f3224d41769ce5ed2a01030de69d77163a291a77e8280aad3' -a '33e32cd86ecfb3179e50208428541a1e' -d '0 0 * * *'
- Сделайте бэкап приватного ключа (
/home/idena_instance_username/idena-go/datadir/keystore/nodekey
). - Сделайте бэкап node api.key (
/home/idena_instance_username/idena-go/datadir/api.key
). - Запустите самую последнии версию скрипта Idena Runner и введите имя пользователя от имени которого вы будете ставить сервис idena-go. Имя должно быть тем же, от которого была изначально установлена инстанция idena-runner. Все файлы будут перезаписаны. Внимание: все файлы внутри папки idena-go будут полностью уничтожены.
service idena_$username stop
остановка обновлённой инстанции скрипта.- Восстановите файлы приватного ключа
nodekey
и API ключа нодыapi.key
из бэкапа, сделанного на шаге №1. service idena_$username start
запуск обновлённой инстанции скрипта.
service idena_username stop
остановка демона idena от имени пользователя, инстанцию idena-go которого мы собираемся удалитьpkill -u username
убиваем все активные процессы, которые принадлежат данному пользователюdeluser --remove-home username
удаление относящихся к этому пользователю файлов и папокrm /etc/cron.d/idena_update_username
удаляем cron задачу, которая была создана для своевременного обновления ноды idena-gorm /etc/systemd/system/idena_username.service
удаляем демона idena привязанного к этому пользователюsystemctl disable idena_username
отключаем демона idena привязанного к этому пользователюsystemctl daemon-reload && systemctl reset-failed
обновление изменений в systemctl которые мы сделали на предыдущем шагеufw show added | grep "IDENA Instance for user $username" | awk '{ gsub("ufw","ufw delete",$0); system($0)}'
не забудьте изменить$username
на имя удалённого пользователя от которого запускалась инстанция иденыsudo visudo
вам нужно найти и удалить строку относящуюся к удаляемому пользователю в конце редактируемого файлаnano /etc/ssh/sshd_config
вам нужно удалить имя пользователя из группы DenyUsers;sudo sshd -t
для проверки корректности произведённых вами изменений в файле sshd_config;sudo service sshd restart
перезапускаем сервис sshd.
0xf041640788910fc89a211cd5bcbf518f4f14d831
- 20 IDNA — Отлично, чтобы я делал без твоего скрипта.
dna://send/v1?address=0xf041640788910fc89a211cd5bcbf518f4f14d831&amount=20&comment=%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%BD%D0%BE%2C+%D1%87%D1%82%D0%BE%D0%B1%D1%8B+%D1%8F+%D0%B4%D0%B5%D0%BB%D0%B0%D0%BB+%D0%B1%D0%B5%D0%B7+%D1%82%D0%B2%D0%BE%D0%B5%D0%B3%D0%BE+%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0&callback_url=https%3A%2F%2Fgithub.com%2Fltraveler%2Fidena-runner
- 10 IDNA — Хорошо, скрипт пригодился.
dna://send/v1?address=0xf041640788910fc89a211cd5bcbf518f4f14d831&amount=10&comment=%D0%A5%D0%BE%D1%80%D0%BE%D1%88%D0%BE%2C+%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82+%D0%BF%D1%80%D0%B8%D0%B3%D0%BE%D0%B4%D0%B8%D0%BB%D1%81%D1%8F&callback_url=https%3A%2F%2Fgithub.com%2Fltraveler%2Fidena-runner
- 0 IDNA - Плохо, сейчас напишу что добавить.
- Если вы ищете стабильный и надёжный сервис shared нод, вы всегда можете написать мне в личку в мессенджере Telegram @ltrvlr
- Скрипт не проходил проверку на версиях Убунту ниже 20.04
- Email
ltraveler@protonmail.com
- Telegram @ltrvlr
За более подробной информацией о клиенте idena-go вы можете обратится к официальному репозиторию idena-go github.