๐Ÿ–ฅ๏ธ Tronsell Wiki

Node Setup Guide โ€” Run a TRON Full Node

Step-by-step guide to setting up and running a TRON full node. Covers hardware requirements, installation, configuration, synchronization, and maintenance.

๐Ÿ–ฅ๏ธ Node Setup at a Glance
Recommended RAM32 GB
Storage Required2-4 TB SSD
Sync Time24-72 hours
ImplementationJava-tron
NetworkMainnet or Testnet

๐Ÿ–ฅ๏ธ Introduction to TRON Nodes

A TRON full node is a computer that runs the TRON blockchain software (Java-tron) and maintains a complete copy of the TRON ledger. Nodes are the backbone of the TRON network โ€” they validate transactions, propagate blocks, and serve data to other nodes and applications.

Running your own full node gives you direct access to the blockchain without relying on third-party RPC providers. This is essential for developers building dApps, exchanges processing high volumes, or anyone who wants to contribute to the network's decentralization.

๐Ÿ’ก Why Run a Full Node?

Benefits include: full sovereignty over your data, no rate limits on API calls, lower latency for transaction submission, and direct participation in the TRON network. You also help maintain the network's decentralization and resilience.

โš™๏ธ Hardware Requirements

Running a TRON full node requires substantial hardware resources. The blockchain database size grows over time, so it's important to plan for future scalability.

ComponentMinimumRecommended
CPU8-core @ 2.0 GHz16-core @ 2.5+ GHz
RAM16 GB32 GB
Storage2 TB SSD4 TB NVMe SSD
Network100 Mbps1 Gbps
Bandwidth2 TB/month5+ TB/month
OSUbuntu 20.04+Ubuntu 22.04 LTS
๐Ÿ’ก Storage Growth

The TRON blockchain database is currently ~1.5 TB and grows by approximately 10-15 GB per month. Plan for at least 3-4 TB of SSD storage to avoid running out of space in the medium term.

๐Ÿ“ฆ Installation Guide

The recommended way to run a TRON full node is using the official Java-tron implementation. Follow these steps:

Prerequisites

  • Java 11 or 17 (OpenJDK)
  • Ubuntu 20.04/22.04 LTS (or compatible Linux distribution)
  • Sufficient storage space (see requirements above)
  • Open firewall ports: 18888 (p2p), 50051 (gRPC), 8090 (HTTP)

Step-by-Step Installation

  • 1
    Install Java

    sudo apt update && sudo apt install openjdk-11-jdk

  • 2
    Download Java-tron

    Download the latest release JAR from the official TRON GitHub: wget https://github.com/tronprotocol/java-tron/releases/latest/download/FullNode.jar

  • 3
    Create configuration file

    Generate a config.conf file using the example from the repository. You can customize parameters like storage path, network settings, and API ports.

  • 4
    Start the node

    java -jar FullNode.jar -c config.conf

    For production, use nohup or a service manager like systemd to keep the node running.

  • 5
    Monitor synchronization

    Check the logs to see sync progress. You can also query the node's API to verify it's caught up with the network.

# Example systemd service file for TRON node
[Unit]
Description=TRON Full Node
After=network.target

[Service]
User=tron
ExecStart=/usr/bin/java -jar /opt/tron/FullNode.jar -c /opt/tron/config.conf
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

โš™๏ธ Configuration Options

The config.conf file controls your node's behavior. Key configuration parameters:

ParameterDescriptionExample
storage.db.directoryPath to store blockchain database/data/tron/db
node.listen.portP2P listening port18888
node.rpc.portgRPC API port50051
node.http.portHTTP API port8090
node.isWitnessEnable witness (block production) modefalse
vm.supportConstantEnable constant optimizationtrue
๐Ÿ’ก Security Tip

If you're running a node for development or private use, consider using a firewall to restrict access to RPC and HTTP ports. Only expose the P2P port (18888) to the public internet.

๐Ÿ”„ Synchronization Process

When you start a new full node, it must synchronize with the network by downloading and verifying all blocks from genesis to the current head. This process can take 24-72 hours depending on your hardware and network speed.

You can monitor sync progress by checking the logs or using the node's HTTP API:

# Check current block height via HTTP API
curl -X GET http://localhost:8090/wallet/getnowblock

# Check sync status
curl -X GET http://localhost:8090/wallet/getnodeinfo

The node is fully synced when the blockID in the response matches the latest block from the network. You can verify this against a block explorer like TronScan.

โšก Fast Sync

For faster synchronization, you can use the --witness flag (which enables fast sync mode) or download a pre-synced database snapshot from trusted sources. Always verify the integrity of snapshots before using them.

๐Ÿ”ง Node Maintenance & Monitoring

Running a full node requires ongoing maintenance to ensure it stays healthy and up-to-date.

  • Regular updates โ€” Keep Java-tron updated with the latest releases for security patches and performance improvements.
  • Disk space monitoring โ€” Set up alerts for disk usage. Consider using logical volumes or LVM for flexible storage expansion.
  • Log rotation โ€” Configure logback or use external tools like logrotate to prevent logs from consuming all available disk space.
  • Resource monitoring โ€” Use tools like Prometheus + Grafana to monitor CPU, RAM, disk I/O, and network usage.
  • Regular backups โ€” Backup your node's private keys and configuration files. Consider periodic database backups for disaster recovery.
๐Ÿ’ก Pro Tip

Set up automated health checks that periodically query the node's API and alert you if the node is down or lagging behind the network. This is critical for witness nodes or production infrastructure.

๐Ÿ—ณ๏ธ Witness Node (Validator) Configuration

A witness node (also called a validator node) is a full node that participates in block production. To run a witness node, you need:

  • A full node with node.isWitness = true in config.conf
  • A private key for the witness account (stored securely in the wallet)
  • Sufficient TRX staked to be elected as a Super Representative (SR)
  • High uptime (99.9%+) to avoid missing blocks and penalties
# Add witness account to wallet
private key = "your_private_key_here"

# In config.conf
node.isWitness = true
wallet.privateKey = "your_private_key_here"
โš ๏ธ Security Warning

Never store your witness private key in plain text in production. Use hardware security modules (HSM) or secure key management solutions. Consider using a multi-signature setup for added security.

โ“ Frequently Asked Questions

What are the minimum hardware requirements for a TRON full node?

Minimum requirements: 8-core CPU, 16GB RAM, 2TB SSD storage, and a stable 100 Mbps network connection. For better performance, 32GB RAM and 4TB SSD are recommended. The blockchain database size grows over time, so ample storage is critical.

How do I install a TRON full node?

The recommended way is to use the official Java-tron implementation. Download the latest release JAR file from the TRON GitHub repository, then run it with Java. You can also use Docker for easier deployment. The node will start syncing with the network automatically.

How long does it take to sync a TRON full node?

Initial synchronization can take 24-72 hours depending on your network speed, hardware, and the current blockchain size. Using the '--witness' flag with fast sync mode can reduce this time. The node downloads and verifies all blocks from genesis to the current head.

What is the difference between a full node and a witness node?

A full node stores the entire blockchain, validates transactions, and serves the network. A witness node (validator node) is a full node that also participates in block production. Witness nodes require additional configuration, high uptime, and sufficient TRX staked to be elected as a Super Representative.

Can I run a TRON node on a cloud server?

Yes, you can run a TRON node on cloud platforms like AWS, Google Cloud, or Azure. Choose instances with high CPU performance and SSD storage. Ensure you have sufficient bandwidth as the node will use significant network traffic for synchronization and peer communication.

What ports does a TRON node use?

Default ports: 18888 (P2P peer-to-peer communication), 50051 (gRPC API), and 8090 (HTTP API). For witness nodes, port 8080 may also be used for block broadcasting. Ensure these ports are open in your firewall for proper node operation.

โšก Build with Tronsell Energy

Integrate Tronsell Energy into your zero-fee USDT transfer contracts. Simple API, instant delivery.