OffshoreVps
Инструкции15 окт. 20266 мин чтенияАвтор: команда OffshoreVps

Как запустить полный узел TRON на VPS

Настройте FullNode java-tron: Java, конфигурация, снимок или полная история, память JVM, порты и проверка того, что узел синхронизирован.

TRON популярен для переводов USDT, поэтому многим сервисам нужна собственная нода вместо публичного API с ограничениями по частоте запросов. В этом руководстве на Linux-сервере настраивается FullNode java-tron и разбираются параметры, определяющие, сколько места она занимает на диске.

Окно терминала на VPS с командами для запуска полного узла TRON, начиная с «sudo adduser --disabled-password --gecos "" tron»
Примерно такие команды вы будете выполнять на своём сервере в этом руководстве.

Что вам понадобится

  • Диск. Это главная статья расходов. Ноде с полной историей нужен очень большой накопитель NVMe. «Лёгкая» (lite) fullnode стартует со снапшота и хранит гораздо меньше данных. Перед покупкой уточните актуальные цифры в документации java-tron.
  • ОЗУ. 16 ГБ — обычный минимум, при этом куча JVM должна быть заметно меньше общего объёма.
  • CPU. 4 ядра и больше.
  • Java. java-tron поддерживает определённые версии Java. Используйте ту, которая указана в заметках к релизу.

Подобранные по размерам тарифы смотрите на странице хостинга нод TRON.

Шаг 1: подготовьте сервер

Используйте Ubuntu LTS и выполните шаги из статьи как защитить новый VPS. Создайте пользователя и установите нужный JDK.

sudo adduser --disabled-password --gecos "" tron
sudo apt update
sudo apt install -y openjdk-8-jdk   # use the Java version in the java-tron release notes
java -version

Шаг 2: скачайте java-tron

Возьмите FullNode.jar и соответствующий main_net_config.conf из официальных релизов java-tron на GitHub и проверьте контрольные суммы.

sudo -u tron mkdir -p /home/tron/node && cd /home/tron/node
sudo -u tron wget https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-vVERSION/FullNode.jar
sudo -u tron wget https://raw.githubusercontent.com/tronprotocol/tron-deployment/master/main_net_config.conf
Шаги этого руководства по порядку: 1. Что вам понадобится; 2. подготовьте сервер; 3. скачайте java-tron; 4. запустите узел; 5. проверьте, что идёт синхронизация; 6. Брандмауэр
Шаги этого руководства по порядку.

Шаг 3: выберите режим данных

Можно синхронизироваться с самого начала, что занимает много времени, или стартовать с официального снапшота. Снапшоты перечислены в документации TRON. Lite-снапшот даёт только недавнее состояние, чего достаточно для большинства платёжных задач и работы с кошельками. Скачайте снапшот и распакуйте его в output-directory до первого запуска.

Шаг 4: запустите ноду

sudo -u tron nohup java -Xmx12g -XX:+UseConcMarkSweepGC \
  -jar FullNode.jar -c main_net_config.conf \
  > start.log 2>&1 &

Задайте -Xmx ниже общего объёма ОЗУ, чтобы у операционной системы осталось место под кэш. Для постоянной работы оберните ту же команду в unit-файл systemd с Restart=on-failure.

Шаг 5: проверьте, что идёт синхронизация

tail -f /home/tron/node/logs/tron.log
curl -s http://127.0.0.1:8090/wallet/getnowblock | head -c 300

Если номер последнего блока совпадает с номером в публичном обозревателе, нода синхронизирована.

Файрвол

Откройте порт пиров (по умолчанию 18888 TCP/UDP) и держите порты HTTP и gRPC (8090, 8091, 50051) закрытыми. Поставьте перед ними аутентификацию, если API должны вызывать другие машины.