Blog
10 Min. Lesezeit
|
16. Okt. 2023

TRON-Node einrichten (der pragmatische Weg)

TRON-Node ohne 3 TB Speicher betreiben: Lite FullNode aus Snapshot, systemd- und Docker-Setup, Hardware-Tabelle, Kosten und der Break-even zur API.

Kapitel
C
Chaingateway Team
Blockchain-Experten

Die meisten Menschen, die nach „tron node” suchen, wollen eine Sache: direkten Zugriff auf die Chain, über die ein riesiger Anteil des weltweiten USDT läuft. Die offizielle Dokumentation antwortet mit einer Java-Toolchain — JDK 1.8 installieren, java-tron klonen, mit Gradle bauen, die JVM tunen. Dieser Guide nimmt stattdessen den pragmatischen Weg: das vorgebaute FullNode.jar von der Release-Seite plus ein Lite-FullNode-Snapshot, was den Speicherbedarf von mehr als 3 TB auf wenige Hundert GB schrumpft. Docker folgt als Java-freie Alternative, dann Sync-Zeiten, eine Kostenrechnung und der ehrliche Break-even gegenüber einer API.

Was ist eine TRON-Node?

Eine TRON-Node betreibt java-tron, den Referenz-Client, und verbindet Sie mit dem Netzwerk, das Transaktionen alle 3 Sekunden validiert. Sie stellt zwei APIs für Anwendungen bereit: HTTP auf Port 8090 und gRPC auf Port 50051. Darüber können Sie Contracts deployen und aufrufen, TRX und Token übertragen und den Chain-Zustand abfragen — die Node ist der Einstiegspunkt für alles, was Sie auf TRON bauen.

Der Client bewegt sich schneller, als es die JDK-8-Toolchain vermuten lässt: GreatVoyage-v4.8.0 (Kant) erschien im Februar 2026, aktueller Release ist v4.8.1.1 (Hypatia, Juni 2026). Fast jeder Release trägt das Label „mandatory upgrade”, was die Wartungsroutine später in diesem Guide prägt.

Node-Rollen, nach Relevanz sortiert. Ein FullNode validiert und leitet Blocks weiter und beantwortet API-Abfragen; in fast jedem Fall ist das die richtige Wahl. Eine Witness-Node produziert Blocks, was den 27 von TRX-Stimmen gewählten Super Representatives vorbehalten ist — bei allen anderen bewirkt das Flag --witness nichts. Bei der Speicherung gibt es zwei Varianten: Ein Standard-FullNode trägt die vollständige Transaktionshistorie — Mitte 2026 rund 3 TB und wachsend; die offiziellen März-2026-Snapshots wiegen je nach Variante 2,9–3,1 TB —, während ein Lite FullNode mit einem reinen State-Snapshot in der Größenklasse 100 GB startet.

Der Lite FullNode deckt alles ab, was ein Payments-Backend braucht: aktuellen Zustand, neue Blocks, Transaktionen broadcasten, Deposits beobachten. Was er nicht kann: Fragen zur Historie vor seinem Snapshot beantworten — die Abfrage einer alten Transaktion per ID schlägt fehl. Explorer und Analytics-Plattformen brauchen volle Historie. Die meisten Integrationen nicht.

Die drei Rollen im Vergleich, mit Zahlen von Mitte 2026:

Lite FullNodeFullNode (volle Historie)Witness-Node (SR)
SpeicherSnapshot in der Größenklasse 100 GB; 300–500 GB einplanenoffizielle Snapshots 2,9–3,1 TB; 4 TB einplanenFull-History-Spezifikation plus Produktions-Puffer
Historieab dem Snapshotvollständig seit Genesisvollständig
HTTP/gRPC-APIsjajaja, wobei SRs RPC von Block-Produktion trennen
Produziert Blocksneinneinja — nur die 27 gewählten SRs
Typischer BetreiberPayment-Backends, IntegrationenExplorer, Analytics, Compliance-Archivegewählte Super Representatives

Hardware: FullNode vs. Lite FullNode

KomponenteFullNode (volle Historie)Lite FullNode
CPU16 Kerne8–16 Kerne
RAM32 GB (64 GB für Block-Produktion)16–32 GB
Speicher3 TB+ NVMe, wachsend300–500 GB NVMe (Snapshot ~100–200 GB plus Wachstum)
Netzwerk100 Mbit/s100 Mbit/s

Die CPU- und RAM-Zeilen erweitern die offizielle Empfehlung (16 Kerne, 32 GB, „2,5 TB+” — geschrieben, als die Chain noch kleiner war). Der RAM zählt bei TRON doppelt: einmal für den JVM-Heap und einmal für den Datei-Cache des Betriebssystems, weshalb eine 32-GB-Maschine spürbar geschmeidiger läuft als eine 16-GB-Maschine, selbst für eine Lite-Node.

Schritt für Schritt: Lite FullNode mit dem Release-Jar

Die Befehle setzen Ubuntu 24.04 voraus.

1. Java 8 installieren

java-tron zielt 2026 immer noch auf JDK 1.8 — eine Eigenheit, aber nicht verhandelbar. Neuere JVMs scheitern beim Start.

Terminal window
sudo apt update
sudo apt install -y openjdk-8-jdk
java -version # muss 1.8.x melden

2. Nutzer und Verzeichnisse anlegen

Terminal window
sudo useradd --no-create-home --shell /usr/sbin/nologin tron
sudo mkdir -p /opt/tron /var/lib/tron
sudo chown -R tron:tron /opt/tron /var/lib/tron

3. Release-Jar und Mainnet-Konfiguration herunterladen

Kein Gradle-Build nötig; jeder java-tron-Release liefert ein fertiges FullNode.jar:

Terminal window
cd /opt/tron
sudo -u tron wget $(curl -s https://api.github.com/repos/tronprotocol/java-tron/releases/latest \
| grep browser_download_url | grep FullNode.jar | cut -d '"' -f 4)
sudo -u tron wget https://raw.githubusercontent.com/tronprotocol/tron-deployment/master/main_net_config.conf

Release-Seiten veröffentlichen Checksummen — führen Sie sha256sum FullNode.jar aus und vergleichen Sie, bevor Sie Code laufen lassen, der monatelang Netzwerkverbindungen offenhält.

4. Lite-FullNode-Snapshot wiederherstellen

Die offizielle Database-Snapshots-Seite im TRON-Developer-Hub listet Mirrors in Singapur und den USA, die täglich frische Archive in LevelDB- und RocksDB-Variante veröffentlichen — nehmen Sie LevelDB, sofern Ihre Konfiguration nichts anderes vorgibt, denn die Datenbank-Engine muss zum Snapshot passen. Lite-Archive folgen dem Designziel von TIP-128, etwa 3 Prozent einer vollständigen Datenbank zu betragen; bei den vollen März-2026-Snapshots mit 2,9–3,1 TB (3,6 TB für die Variante mit Address-Balance-Historie) landet der Lite-Download im niedrigen dreistelligen GB-Bereich. Wählen Sie den nächstgelegenen Mirror, kopieren Sie den aktuellen Link und:

Terminal window
cd /var/lib/tron
sudo -u tron wget '<PASTE_LITE_SNAPSHOT_URL>'
sudo -u tron tar xzf LiteFullNode_output-directory.tgz

Nach dem Entpacken sollten Sie /var/lib/tron/output-directory mit der Datenbank haben. Dieser Ordner ist der ganze Trick des „Sync ab Snapshot” — die Node startet auf diesem Zustand, statt Jahre an Blocks nachzuspielen. Falls Sie je die Full-History-Variante wiederherstellen, nutzen Sie die von den Mirrors empfohlene gestreamte Form — wget -qO- '<URL>' | tar xz —, damit das 3-TB-Archiv nie neben seiner entpackten Kopie auf der Platte liegt. Für das Lite-Archiv ist Download-dann-Entpacken unproblematisch.

5. systemd-Unit

Erstellen Sie /etc/systemd/system/tron.service:

[Unit]
Description=TRON Lite FullNode (java-tron)
After=network-online.target
Wants=network-online.target
[Service]
User=tron
Group=tron
Type=simple
Restart=always
RestartSec=10
WorkingDirectory=/var/lib/tron
ExecStart=/usr/bin/java -Xmx24g -XX:+UseConcMarkSweepGC \
-jar /opt/tron/FullNode.jar \
-c /opt/tron/main_net_config.conf \
-d /var/lib/tron/output-directory
[Install]
WantedBy=multi-user.target

Zwei JVM-Details direkt aus der offiziellen Doku: Das Garbage-Collector-Flag gehört vor -jar, nicht danach, und -Xmx sollte etwa 80 % des physischen RAM betragen — 24g passt zu einer 32-GB-Maschine; auf kleineren Boxen entsprechend reduzieren. systemd stoppt den Dienst mit SIGTERM, was der kill -15-Anweisung der Doku entspricht. Beenden Sie eine TRON-Node nie mit kill -9; LevelDB korrumpiert dann, und Sie stellen einen Snapshot wieder her, statt zu Abend zu essen.

Öffnen Sie den P2P-Port, halten Sie die API-Ports privat:

Terminal window
sudo ufw allow 18888 comment 'tron p2p'

Die Ports 8090 und 50051 tragen keine Authentifizierung. Sie bleiben zum Internet hin geschlossen.

6. Starten und prüfen

Terminal window
sudo systemctl daemon-reload
sudo systemctl enable --now tron
journalctl -fu tron

Sobald Block-Meldungen erscheinen, prüfen Sie die Höhe:

Terminal window
curl -s http://127.0.0.1:8090/wallet/getnowblock | jq '.block_header.raw_data.number'

Vergleichen Sie die Zahl mit dem aktuellsten Block auf tronscan.org; curl http://127.0.0.1:8090/wallet/getnodeinfo zeigt zusätzlich Peer-Anzahl und Sync-Status. Folgt Ihre Höhe der des Explorers, ist die Node live.

Ein Wort zur Block-Produktion, da die offizielle Doku dem viele Seiten widmet: Eine Witness-Node ergibt nur für die 27 gewählten Super Representatives Sinn. Die Mechanik — das Flag --witness plus der SR-Private-Key in der localwitness-Liste von main_net_config.conf, oder die Keystore-plus-Passwort-Variante, falls Sie Klartext-Keys ablehnen — ist in der Upstream-Doku beschrieben. Für alle anderen ist eine schlichte FullNode das richtige Ziel.

Docker statt Java

Die Top-Guides für TRON überspringen Docker allesamt, dabei macht das offizielle Image die JDK-8-Anforderung zu jemand anderes Problem:

Terminal window
docker pull tronprotocol/java-tron
docker run -d --name tron --restart unless-stopped \
-p 127.0.0.1:8090:8090 -p 127.0.0.1:50051:50051 \
-p 18888:18888 -p 18888:18888/udp \
-v /var/lib/tron/output-directory:/java-tron/output-directory \
tronprotocol/java-tron

Der Volume-Mount nutzt den Lite-Snapshot aus Schritt 4 weiter, das Starten des Containers ist also kein erneuter Sync. Das Binden von 8090 und 50051 an 127.0.0.1 hält die APIs privat, während der P2P-Port erreichbar bleibt. Für individuelle Einstellungen mounten Sie Ihre main_net_config.conf in den Container und übergeben -c als Kommandozeilenargument; ohne das läuft das Image mit Mainnet-Defaults. Betreibt Ihr Host bereits andere Container, ist das der sauberere Aufbau — ein Image-Upgrade ersetzt den gesamten Java-Stack.

Sync-Zeit und Snapshot-Handling

Rechnung statt Versprechen. Ein 150-GB-Lite-Archiv bei konstanten 50 MB/s lädt in etwa 50 Minuten; das Entpacken addiert auf NVMe wenige Minuten. Der Snapshot ist höchstens einen Tag alt, und TRON produziert bei seinem 3-Sekunden-Takt etwa 28.800 Blocks pro Tag — eine gesunde Node importiert weit schneller als Echtzeit, das Aufholen kostet also Minuten bis wenige Stunden. Gesamt: ein funktionierender Lite FullNode an einem Nachmittag.

Für eine Full-History-Node tut dieselbe Rechnung weh: 3 TB+ bei 100 MB/s bedeuten 8+ Stunden Download, bevor das Entpacken überhaupt beginnt, und ein Sync ab Genesis ohne jeden Snapshot läuft wochenlang. Eine Asymmetrie sollten Sie kennen: java-tron liefert ein Toolkit, das eine FullNode-Datenbank auf Lite-Format schrumpft, aber es gibt keinen Weg von Lite zurück zu voll — brauchen Sie je vollständige Historie, starten Sie mit dem vollen Snapshot.

Event-Streams und gRPC

Blocks per HTTP zu pollen funktioniert, aber java-tron kann auch pushen. Der Event-Subscription-Mechanismus, aktiviert im event.subscribe-Block von main_net_config.conf, veröffentlicht Trigger für neue Blocks, Transaktionen, Contract-Logs und Contract-Events — in eine eingebaute ZeroMQ-Queue für leichte Setups, oder über Plugins in Kafka oder MongoDB für echte Pipelines.

Für die Deposit-Erkennung ersetzt das Block-Scanning: Contract-Events abonnieren, nach dem USDT-Contract filtern, den Empfänger gegen Ihre Kundenadressen abgleichen. Ein Detail entscheidet über Korrektheit. Die einfachen Trigger feuern, sobald ein Block ankommt, aber ein TRON-Block wird erst unumkehrbar, sobald genug Super Representatives ihn bestätigt haben; die Solidified-Trigger-Varianten feuern erst dann, und aus ihnen sollten Sie Kundenguthaben gutschreiben. Ein aus einem nicht solidifizierten Block gutgeschriebenes Deposit kann, selten, bei einem Reorg wieder verschwinden.

Die zweite Maschinenschnittstelle ist gRPC auf Port 50051: dieselben Wallet-Operationen wie HTTP, aber protobuf-typisiert und unter Last pro Aufruf schneller, weshalb die meisten Indexer und Exchange-Backends auf TRON es nutzen. Eine praktische Aufteilung: gRPC für die Massen-Reads Ihres Indexers, HTTP für Ad-hoc-Checks wie die curl-Aufrufe in diesem Guide, und die Solidity-API (Port 8091, falls aktiviert) für Abfragen, die ausschließlich unumkehrbaren Zustand sehen dürfen.

Was eine TRON-Node kostet

Ein Rechenweg, keine Preisliste. Ein Lite FullNode braucht 8–16 Kerne, 32 GB RAM und rund 500 GB NVMe — Territorium eines oberen Mid-Range-VPS oder eines Einstiegs-Dedicated-Servers, was bei europäischen Hostern als Größenordnung einen mittleren zweistelligen bis niedrigen dreistelligen Euro-Betrag pro Monat bedeutet. Eine Full-History-Node braucht die 3-TB+-NVMe-Klasse, also einen echten Dedicated-Server im niedrigen bis mittleren dreistelligen Bereich.

Rechnen Sie Ihre Stunden dazu: ein halber Tag für das Setup nach diesem Guide, java-tron-Updates alle paar Monate, und gelegentlich ein Snapshot-Refresh nach einem Absturz. Der Lite FullNode ist der seltene Fall, in dem Self-Hosting von Blockchain-Infrastruktur wirklich günstig ist — solange keine Umsätze davon abhängen, dass er um 3 Uhr nachts noch läuft.

Monitoring und Health-Checks

Alles Prüfenswerte sitzt hinter einem Endpoint. /wallet/getnodeinfo liefert Client-Version, Peer-Anzahl, den aktuellsten Block und den aktuellsten solidifizierten Block in einem einzigen Aufruf:

Terminal window
curl -s http://127.0.0.1:8090/wallet/getnodeinfo | jq \
'{version: .configNodeInfo.codeVersion, peers: .currentConnectCount,
head: .block, solidified: .solidityBlock}'

Eine gesunde Node zeigt den Head alle 3 Sekunden voranschreitend und den solidifizierten Block etwa 19–20 Blocks dahinter — das ist die Zwei-Drittel-von-27-SRs-Bestätigungstiefe, rund eine Minute Chain-Zeit. Vergleichen Sie für Alerting Ihren Head alle paar Minuten mit tronscan oder einer zweiten Node und alarmieren Sie, wenn die Lücke 40 Blocks übersteigt, zwei Minuten Chain-Zeit. systemctl is-active tron plus die Peer-Anzahl aus demselben Aufruf deckt die Liveness ab.

Da diese Node eine JVM ist, beobachten Sie den Speicher separat: jstat -gcutil $(pgrep -f FullNode.jar) 10s zeigt Garbage-Collection-Druck, und steigende Full-GC-Zeiten tauchen in dieser Ausgabe auf, bevor die Node ins Hintertreffen gerät. Ergänzen Sie das um df -h /var/lib/tron mit einer 85-Prozent-Schwelle — eine Lite-Node wächst langsam, aber sie wächst, und derselbe Cron-Job, der Ihnen den Sync-Status mailt, kann die Speicherzeile gratis mitliefern.

Wartung und Upgrades

java-tron-Releases erscheinen alle paar Monate, und die meisten tragen das Label „mandatory upgrade” — Kant (v4.8.0, Februar 2026), Democritus (v4.8.1) und Hypatia (v4.8.1.1, Juni 2026) alle drei. Mandatory bedeutet, dass das Netzwerk Regeländerungen nach Zeitplan aktiviert und alte Versionen dann auf der falschen Seite des Konsens landen — behandeln Sie TRON-Releases also so, wie BSC-Betreiber Hard Forks behandeln: den Release-Feed von tronprotocol/java-tron abonnieren und innerhalb des angekündigten Fensters upgraden.

Das Upgrade behält die Datenbank. Das neue FullNode.jar herunterladen, sha256sum gegen die Release-Seite vergleichen, den Dienst stoppen (systemd sendet SIGTERM, das ist der dokumentierte saubere Shutdown), das Jar in /opt/tron austauschen, neu starten. Die Node spielt die wenigen verpassten Minuten nach und ist kurz danach wieder am Head.

Zwei langsamer laufende Aufgaben gehören auf die Liste. Die Lite-Datenbank wächst mit dem State plus ihrem sich ansammelnden Block-Schwanz; wird sie zu groß, stellen Sie einen frischen Lite-Snapshot wieder her — derselbe Schritt wie bei der Crash-Recovery, und der Grund, warum dieses Setup die Recovery günstig hält. Und behalten Sie die Java-Anforderung im Auge: Der Standard-x86-Build zielt Mitte 2026 immer noch auf JDK 1.8, während v4.8.1 ARM-Builds auf JDK 17 ergänzte. Die Fixierung lockert sich, aber bis die Release Notes etwas anderes sagen, bleibt ein Standard-Server bei Java 8.

Sicherheit: zwei API-Ports, null Authentifizierung

Die Ports 8090 (HTTP) und 50051 (gRPC) akzeptieren jeden, der sie erreichen kann — keine Tokens, keine Accounts, nichts. Eine wie in diesem Guide aufgesetzte Node hält keine Private Keys, ein offener Port verliert also nicht direkt Gelder, aber er gibt Fremden einen kostenlosen RPC-Dienst, und intensive Query-Schleifen gegen Block-Endpoints fressen die Disk-I/O der Maschine, bis Ihre eigene Software verhungert. Gehen Sie davon aus, dass jeder aus dem Internet erreichbare Port heute schon gescannt wird.

Die Firewall aus Schritt 5 ist die Policy: ufw default deny incoming, dann SSH und 18888 (TCP und UDP) — sonst nichts. Wenn andere Maschinen die API brauchen, tunneln Sie mit WireGuard oder SSH, oder stellen Sie nginx mit TLS und einer IP-Allowlist davor, und leiten Sie selbst dann nur die tatsächlich genutzten Endpoints weiter. Prüfen Sie nach jeder Konfigurationsänderung mit ss -tlnp, was wirklich lauscht: java-tron kann aus der Konfigurationsdatei heraus zusätzliche Ports öffnen, darunter die Solidity-API auf 8091, und ein vergessener Port ist ein nicht abgesicherter Port.

Ein Sonderfall: Setzen Sie je einen Witness-Key auf eine Maschine, hört diese auf, Infrastruktur zu sein, und wird zur Hot Wallet. Trennen Sie sie vom RPC-Serving, und behandeln Sie ihre Konfigurationsdatei — die den Key im Klartext enthalten kann — mit der Sorgfalt, die Sie dem Key selbst geben würden.

Troubleshooting

Der Start bricht sofort mit einem Java-Versionsfehler ab

UnsupportedClassVersionError oder Ähnliches bedeutet, die JVM ist Version 11 oder neuer. Wählen Sie Java 8 mit sudo update-alternatives --config java, oder umgehen Sie das Problem gleich ganz mit dem Docker-Image.

OutOfMemoryError oder minutenlange GC-Pausen

-Xmx ist falsch dimensioniert. Folgen Sie der 80-%-vom-RAM-Regel, lassen Sie aber mehrere GB für den OS-Datei-Cache übrig, und hosten Sie keine weiteren speicherhungrigen Dienste mit. Auf einer 16-GB-Maschine ist -Xmx12g die Obergrenze.

Die Node startet, bleibt aber auf der Snapshot-Höhe

Keine Peers. Prüfen Sie, ob Port 18888 für TCP und UDP offen ist, schauen Sie sich die Peer-Anzahl in /wallet/getnodeinfo an, und verifizieren Sie die Uhrzeit mit timedatectl — NTP muss aktiv sein. Geben Sie der Peer-Discovery direkt nach dem ersten Start ein paar Minuten, bevor Sie weiter graben.

Datenbankfehler nach einem Absturz oder Reboot

kill -9, ein OOM-Kill oder Stromausfall korrumpiert die Datenbank. Die schnellste Lösung ist auch die vorgesehene: output-directory löschen, einen frischen Lite-Snapshot wiederherstellen, neu starten — das ist der Lohn der kleinen Snapshot-Größe. Vorbeugung: immer über systemd stoppen, und genug freien RAM lassen, dass der Kernel Java nie per OOM killt.

Die Node fällt immer weiter hinter den Head zurück

Peers sind verbunden, Blocks kommen an, aber die Lücke zu tronscan wächst. Prüfen Sie in dieser Reihenfolge: Disk-Latenz (fio-Random-Read-Benchmark — LevelDB auf Netzwerkspeicher oder SATA ist die klassische Ursache), GC-Druck (jstat -gcutil, siehe Monitoring-Abschnitt), dann CPU-Konkurrenz durch mitgehostete Workloads. Der 3-Sekunden-Takt von TRON verzeiht kurze Aussetzer; eine über Stunden wachsende Verzögerung bedeutet, dass die Maschine nicht mithält, und kein Konfigurationsflag repariert zu kleine Hardware.

Die Platte läuft voll

df -h, dann du -h --max-depth=2 /var/lib/tron. Der übliche Befund ist ein vergessenes Snapshot-Archiv — die .tgz kann es an Größe mit der entpackten Datenbank aufnehmen. Ist output-directory selbst über das Volume hinausgewachsen, stellen Sie den neuesten Lite-Snapshot auf einer größeren Platte wieder her; die Wiederherstellung setzt gleichzeitig den angesammelten Block-Schwanz zurück. Der 85-Prozent-Alert aus dem Monitoring-Abschnitt macht daraus einen Kalendereintrag statt eines Ausfalls.

Warum überhaupt jemand eine TRON-Node betreibt: USDT

Die dominante Antwort ist USDT-TRC20. Niedrige Gebühren und 3-Sekunden-Blocks machten TRON zur Standard-Schiene für Exchanges und Payment-Provider, und zig Milliarden US-Dollar an USDT zirkulieren auf der Chain. Mit der eigenen Node können Sie Kunden-Deposits beobachten und Auszahlungen broadcasten, ganz ohne Mittelsmann — genau deshalb fragen Payment-Unternehmen weit häufiger nach TRON-Nodes als nach den meisten anderen Chains.

Die Mechanik verdient eine Ebene mehr Detail, weil sie die Architektur prägt. Ein USDT-Deposit ist kein TRX-Transfer — es ist ein Aufruf an den USDT-Smart-Contract, taucht also nie in schlichten TRX-Balance-Abfragen auf. Es zu erkennen bedeutet, TRC-20-Transfer-Events aus jedem Block zu dekodieren oder sie über den oben beschriebenen Event-Mechanismus zu abonnieren, und erst nach der Solidifizierung gutzuschreiben: rund 19 Blocks, etwa eine Minute. Auszahlungen haben ihre eigene Ökonomie. Ein USDT-Transfer verbraucht Energy, und eine Wallet ohne gestaktes TRX bezahlt diese Energy, indem sie TRX verbrennt — rund 6,4 TRX an eine Adresse, die bereits USDT hält, und rund 13,4 TRX an eine leere, beim seit Proposal #104 geltenden Energy-Preis von 100 Sun. Betrieb mit Volumen staked stattdessen TRX für Energy, wofür die Freeze- und Delegate-Mechanik existiert.

Aber machen Sie sich klar, was Ihnen eine rohe Node gibt: HTTP- und gRPC-Endpoints, nicht mehr. Das USDT-Deposit eines Kunden zu erkennen bedeutet, jeden Block nach TRC-20-Transfer-Events gegen Ihre Adressliste zu scannen und Bestätigungen sowie Retries selbst zu handhaben. Und das Gebührensystem von TRON — Bandwidth, Energy, TRX freezen, Gebühren für Nutzer sponsern — ist ein eigenes Studienfeld; der TRON-Fee-Calculator zeigt, was ein USDT-Transfer wirklich kostet, bevor Sie darum herum bauen.

Eigene Node betreiben — oder eine API nutzen?

Ein ehrlicher Vergleich, denn Chaingateway verkauft die Alternative.

Betreiben Sie die Node, wenn Sie die Chain im großen Stil lesen — Indexing, Netzwerk-Monitoring über die eigenen Adressen hinaus, gRPC in die eigene Pipeline speisen — oder wenn Policy Dritte ausschließt. Die niedrigen Kosten des Lite FullNode bedeuten, dass sich lesehungrige Workloads schnell amortisieren; das ist eine der günstigsten selbst gehosteten Nodes unter den großen Chains.

Nutzen Sie eine API, wenn die Node nur Verrohrung für Zahlungen wäre. Auf einer synchronisierten Node würden Sie zusätzlich Adressgenerierung pro Kunde, TRC-20-Deposit-Erkennung, Webhook-Zustellung, Key-Storage und Fee-Management bauen. Chaingateways TRON-API ist genau diese Ebene als REST-Endpoints: Adressen importieren (POST /api/v2/tron/addresses/import), USDT und andere TRC-20-Token versenden (POST /api/v2/tron/transactions/trc20) oder TRC-10-Assets, Ressourcen für Energy freezen und delegieren (POST /api/v2/tron/freeze, POST /api/v2/tron/delegate), und HMAC-signierte Deposit-Webhooks empfangen; fehlgeschlagene Zustellungen erscheinen unter GET /api/v2/tron/webhooks/notifications/failed und lassen sich über den Retry-Endpoint erneut senden.

Der Break-even als Rechnung: (Server + Snapshot-Refreshs + Ihre Stunden × Ihr Satz) gegen einen Plan auf /de/pricing/. Für Deposit-und-Payout-Anwendungsfälle bleibt die API-Seite bis zu ernsthafter Skalierung kleiner; für rohes Chain-Lesen gewinnt die Node-Seite fast sofort. Der Quickstart und der Webhook-Guide decken einen ersten End-to-End-Test ab, und der 7-tägige Test kommt ohne KYC aus (registrieren).

Betreiben Sie auch EVM-Chains? Siehe die Setup-Guides für Ethereum und BNB Smart Chain.

Häufig gestellte Fragen

Ein Lite FullNode startet mit einem Snapshot in der Größenklasse 100 GB; planen Sie 300–500 GB NVMe für das Wachstum ein. Ein FullNode mit voller Historie liegt Mitte 2026 bei rund 3 TB — die offiziellen März-2026-Snapshots wiegen 2,9–3,1 TB —, und die Zahl steigt weiter.

Offiziell zielt java-tron auf Linux und macOS. Unter Windows ist das Docker-Image der praktische Weg, das die gesamte Umgebung inklusive Java 8 fixiert.

Nein. Block-Rewards gehen über Staking an die 27 gewählten Super Representatives und deren Wähler. Ein FullNode gibt Ihnen unabhängigen Chain-Zugriff, kein Einkommen.

JDK 1.8 für den Standard-x86-Build, auch Mitte 2026 noch; v4.8.1 brachte ARM-Builds auf JDK 17, aber auf einem normalen Server brechen neuere JVMs beim Start ab. Das ist der häufigste Setup-Fehler und der Grund, warum dieser Guide das Docker-Image enthält.

Gleiche Software, andere Datenbank. Die Lite-Variante startet mit einem reinen State-Snapshot und bedient alles rund um den aktuellen Chain-Zustand, kann aber keine Abfragen zu Transaktionen vor ihrem Snapshot beantworten. Zahlungen funktionieren, Block-Explorer-Historie nicht.

Möchten Sie das selbst umsetzen? API-Key erhalten — 7 Tage kostenlos testen, keine Karte nötig — oder werfen Sie einen Blick auf Tron-API für die vollständige Endpoint-Referenz.

C
Chaingateway Team
Blockchain-Experten

Das Chaingateway-Team hat es sich zur Aufgabe gemacht, die Blockchain-Integration für Entwickler weltweit zu vereinfachen.