Прикладные программы. Monerod. Узел XMR на VPS.
Арендуем анонимный VPS с оплатой криптовалютой. Выбираем в характеристиках арендуемого VPS Storage ⩾300 GB.
Подключаемся через tor по ssh к арендуемому VPS. Настраиваем ssh: добавляем пользователя для подключения по ssh, запрещаем подключение к ssh пользователю root, меняем стандартный порт на котором ssh принимает подключения, настраиваем аутентификацию ssh по ключам.
Обновляем списки пакетов репозиториев, обновляем пакеты, устанавливаем tor. Конфигурируем Hidden Service, для подключения клиентов к узлу XMR, добавляем в torrc
HiddenServiceDir /var/lib/tor/hidden_service_monerod/
HiddenServicePort 18083 127.0.0.1:18083
HiddenServicePort 18089 127.0.0.1:18089
запускаем tor.
Загружаем с getmonero.org последнюю версию Monero CLI Wallet для Linux 64-bit
torsocks wget https://dlmonerotqz47bjuthtko2k7ik2ths4w2rmboddyxw4tz4adebsmijid.onion/cli/monero-linux-x64-v0.18.3.4.tar.bz2
Импортируем pgp ключ подписи файла хэшей, проверяем подпись pgp, считаем хэш загруженного архива monero-linux-x64-v0.18.3.4.tar.bz2 сверяем с хэшем указанным в файле hashes.txt. Если подпись верна и хэши совпадают распаковываем архив.
tar -xvf monero-linux-x64-v0.18.3.4.tar.bz2
Создаём каталог для конфигурационных файлов monerod
mkdir -p /home/user/.config/monerod
Создаём конфигурационный файл monerod.conf
nano /home/user/.config/monerod/monerod.conf
помещаем в него текст
max-log-file-size=0
log-file=/dev/null
no-igd=1
disable-dns-checkpoints=1
p2p-bind-ip=0.0.0.0
p2p-bind-port=18080
out-peers=32
in-peers=32
tx-proxy=tor,127.0.0.1:9050,16,disable_noise
pad-transactions=1
proxy=127.0.0.1:9050
public-node=1
confirm-external-bind=1
rpc-bind-ip=127.0.0.1
rpc-bind-port=18081
rpc-restricted-bind-ip=0.0.0.0
rpc-restricted-bind-port=18089
rpc-ssl=disabled
disable-rpc-ban=1
db-sync-mode=fastest:async:250000000bytes
max-concurrency=2
fast-block-sync=0
block-sync-size=0
anonymous-inbound=host_name.onion:18083,127.0.0.1:18083,16
где host_name.onion
это имя хоста Hidden Service. Узнать его можно так
sudo cat /var/lib/tor/hidden_service_monerod_anon_monerod/hostname
Создаём unit systemd для запуска демона monerod
systemctl --user edit --full --force monerod.service
помещаем в открывшийся текстовый редактор текст
[Unit]
Description=Monero Full Node (Mainnet)
After=network.target
[Service]
Type=simple
ExecStart=/home/user/monero-x86_64-linux-gnu-v0.18.3.4/monerod --non-interactive --config-file=/home/user/.config/monerod/monerod.conf
Restart=on-failure
RestartSec=30
# Hardening measures
PrivateTmp=true
ProtectSystem=full
NoNewPrivileges=true
[Install]
WantedBy=default.target
Сохраняем изменения в файле, выходим из текстового редактора.
Перечитываем список unit'ов systemd
systemctl --user daemon-reload
Включаем автозапуск демона при старте системы
systemctl --user enable --now monerod.service
Проверяем запуск демона
systemctl --user status monerod.service
Читаем логи journalctl
journalctl --user -fu monerod
Ожидаем окончания скачивания блокчейна и синхронизации узла.
После завершения синхронизации добавляем в кошельке свою ноду с адресом
host_name.onion:18083
Пользуемся кошельком.