Установка и настройка ноды Ripple



Сегодня расскажу о том, как поднять ноду 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.
Теги:
ripple, node, server, нода, рипл

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.