Tron Node

Сборка Tron Node

Документация описана для установки на чистую VDS без стороннего ПО и других программ учитывайте это при установке.

  1. Установите необходимые пакеты:

    apt update && apt install -y git wget curl nano
  2. Установите Docker по официальной документации https://docs.docker.com/engine/install/#server

  3. Клонируйте репозиторий с докер-образом:

    git clone https://github.com/boxexchanger/docker-java-tron.git
  4. Переходим в директорию с проектом

    cd docker-java-tron/
  5. Создайте конфигурационный файл и задайте нужные адреса контрактов и топики событий: (не обезательно но рекомендуем дабы не обрабатывать лишнии транзакции)

    nano ~/docker-java-tron/tron.conf

    пример конфигурации для обработки только USDT событий

    EVENT_PLUGIN_ADDRESS_FILTER=TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
  6. Создаем папку для данный ноды

    mkdir -p ~/docker-java-tron/data/node
  7. Скачиваем Lite версию данных ноды с открытого источника (http://34.143.247.77/) (документация)

    wget http://34.143.247.77/backup20240809/LiteFullNode_output-directory.tgz -O ~/LiteFullNode_output-directory.tgz
  8. Распаковать архив (папку output-directory) в ~/docker-java-tron/data/node/

    tar xvf ~/LiteFullNode_output-directory.tgz -C ~/docker-java-tron/data/node/ --strip-components=1
  9. Удаляем архив со Lite данными

    rm ~/LiteFullNode_output-directory.tgz

    Теперь наша Tron node готова к запуску

Запускаем Node

  1. Переходим в дерикторию проекта:

    cd ~/docker-java-tron/
  2. Запускаем Tron node

    ./start.sh

Как добавить еще один адрес контракта

  1. Нужно зайти в конфигурацию:

    nano ~/docker-java-tron/tron.conf
  2. Добавить еще один адрес в блок EVENT_PLUGIN_ADDRESS_FILTER разделив адреса контрактов знаком запятой , при этом не используйте перенос строк или пробелы между адресами. Пример USDT + USDC:

    EVENT_PLUGIN_ADDRESS_FILTER=TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t,TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8

Очистка данных ноды:

По умолчанию мы установили 5 дней хранения данных которые вы можете синхронизировать

Если вы хотите изменить данный параметр вам нужно добавить в вашу конфигурацию другое количество дней

  1. Нужно зайти в конфигурацию:

    nano ~/docker-java-tron/tron.conf
  2. Добавить строку со своим значением:

    MONGO_RETENTION_DAYS=5

Как получать логи с node:

docker exec -it tron-node tail -f logs/tron.log

Открываем порт доступа:

Создаем прокси с портов - localhost:8080 на порт 2080 для EventServer - localhost:18090 на порт 2090 для fullNode - localhost:18091 на порт 2091 для solidityNode

Настраиваем прокси на caddy

Устанавливаем caddy https://caddyserver.com/docs/install Документация подготовлена для операционной системы Debian 11 и 12.

apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' |  tee /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install caddy

конфигурируем caddy для прокси 8080,18090,18091 на порты 2080,2090,2091 для внешней сети

Caddyfile будет перезаписан полностью!

echo -e ':2080 {\n reverse_proxy :8080\n}\n:2090 {\n reverse_proxy :18090\n}\n:2091 {\n reverse_proxy :18091\n}' > /etc/caddy/Caddyfile 

запускаем caddy

systemctl enable --now caddy

или перезагружаем если необходимо systemctl restart caddy

так

Доступы:

EventServer: http://ip.host:2080 Node: http://ip.host:2090 Solidity: http://ip.host:2091

Как обновить tron-node контейнер.

Обновить версию в .env файле https://github.com/tronprotocol/java-tron/releases

.env
JAVA_TRON_VERSION="GreatVoyage-v4.7.5"

Пересобираем docker и перезапускаем node:

docker compose build
./start.sh

Last updated