Сегодня расскажу о том, как поднять ноду Ripple, так как на днях столкнулся лично с данным вопросом и обнаружил, что в рунете нету вообще информации об этом, в буржунете тоже информации не много, есть конечно официальная документация, но и она не всегда спасает. Обо всём по порядку.
Сама документация по поднятию ноды находится на официальном сайте по ссылке.
Минимальные системные требования:
ОС: CentOS or RedHat Enterprise Linux (latest release) or Ubuntu (16.04+)
CPU: 64-bit x86_64, 2+ ядра
Диск: минимум 50GB для БД. Рекомендуется SSD
RAM: 8GB+
Рекомендуемые системные требования:
ОС: Ubuntu 16.04+
CPU: Intel Xeon 3+ GHz процессор с 4 ядрами и включенным гипертрейдинг
Диск: SSD (7000+ writes/second, 10,000+ reads/second)
RAM:
Тестовый сервер: 8GB+
Продакшн: 32GB (я запускал на 16GB, полёт нормальный, есть подстройка в конфиге)
Сеть: канал 1Гбит/сек
Я поднимал ноду на Ubuntu 18.04, следовательно буду писать мануал относительно этой ОС.
Поехали
1. Устанавливаем yum-utils and alien:
$ sudo apt-get update
$ sudo apt-get install yum-utils alien
2. Добавляем репозиторий Ripple RPM:
$ sudo rpm -Uvh https://mirrors.ripple.com/ripple-repo-el7.rpm
3. Загружаем пакет rippled:
$ yumdownloader --enablerepo=ripple-stable --releasever=el7 rippled
4. Проверяем подпись пакета rippled:
$ sudo rpm --import https://mirrors.ripple.com/rpm/RPM-GPG-KEY-ripple-release && rpm -K rippled*.rpm
5. Устанавливаем пакет rippled:
$ sudo alien -i --scripts rippled*.rpm && rm rippled*.rpm
6. Добавляем rippled service в автозагрузку:
$ sudo systemctl enable rippled.service
7. Запускаем rippled service
$ sudo systemctl start rippled.service
На этом установка самой ноды закончена, теперь мы переходим к конфигурированию и валидации ноды, но перед этим давайте проверим, что наша нода запущена и работает правильно:
$ /opt/ripple/bin/rippled server_info
Теперь поговорим о конфигурации, в целом дефолтный конфиг работоспособен и требует минимальной настройки, самое главное что требуется, это настроить валидацию. Для этого нужно сгенерировать все ключи и прописать их в конфиге.
Валидатор устанавливается в комплекте с пакетом rippled.
Далее пройдёмся по порядку:
1. Генерируем ключ валидации командой create_keys:
В мануале написана команда
$ validator-keys create_keys
но так как у нас не добавлены переменные в PATH, то запускаем мы её следующим образом:
$ /opt/ripple/bin/validator-keys create_keys
все последующие команды буду писать также с запуском по полному пути
После этого мы получаем сгенерированный файл validator-keys.json с ключами, в консоле будет написан его путь, у меня это
/root/user/.ripple/validator-keys.json
Сохраните этот файл на локальный ПК, а ещё лучше на съёмный носитель, в общем в безопасное место.
2. Генерируем токен валидации командой create_token:
$ /opt/ripple/bin/validator-keys create_token --keyfile /root/user/.ripple/validator-keys.json
не забудьте сменить путь до файла validator-keys.json
После чего получим в консоле ответ следующего вида:
3. Редактируем файл rippled.cfg (по дефолту он находится /opt/ripple/rippled.cfg). В самый конец добавляем тот код, который получили в консоле на предыдущем шаге. Сохраняем файл конфига.
4. Перезагружаем ноду:
$ sudo systemctl restart rippled.service
5. Теперь проверим что сделали всё правильно:
$ /opt/ripple/bin/rippled server_info
Значение параметра server_state
должно быть proposing.
Если всё так, то поздравляю, всё сделали правильно!
Теперь нода готова к работе!
Можем попробовать сгенерировать адрес:
1. Генерируем ключ валидации:
$ /opt/ripple/bin/rippled validation_create
Получаем набор ключей, нам из них интересно значение validation_seed
2. Генерируем адрес:
$ /opt/ripple/bin/rippled wallet_propose <тут значение validation_seed>
Теперь мы получили наш адрес ripple, на который можно переводить крипту. Если же ключ валидации ввели неверно, то получите варнинг об этом.
Если будут какие-то вопросы, буду рад помочь. Также если будет интерес, могу написать о том, как поднять ноду Waves.
Автор: Влад