The TRON Developer Guide — Architecture

2 min readMay 15, 2019



TRON adopts a 3-layer architecture comprised of storage layer, core layer, and application layer.

Storage Layer

The tech team of TRON designed a unique distributed storage protocol consisting of block storage and state storage.

The notion of a graph database was introduced into the design of the storage layer to better meet the need for diversified data storage in the real world.

Core Layer

Smart contract module, account management module, and consensus module are core layer’s three modules. It is TRON’s vision to base its functions on a stacked virtual machine and optimized instruction set. In order to better serve the development of DApps, Java is designated as the language for smart contracts, which is to be further supplemented by other high-level programming languages. In addition, innovations are made to TRON’s consensus on the basis of DPOS to fulfill its special needs.

Application Layer

Developers can utilize interfaces for the creation of diverse DApps and customized wallets. The TRON protocol adheres in entirety to Google Protobuf, which intrinsically supports multi-language extension.

Node Types

The three types of nodes on Tron’s network are Super Representative Witness (SR Full Node), Full Node, and Solidity Node. SR Full Nodes are responsible for block production; Full Nodes provide APIs, and broadcast transactions and blocks; Solidity Nodes synchronize irrevocable blocks and provide inquiry APIs. Exchanges need to deploy a Full Node and a Solidity Node. The Solidity Node connects to the local Full Node, which connects to the Mainnet.

Mainnet & Testnet

Currently the TRON network has an operating Mainnet as well as Testnet named Shasta. The Mainnet blockchain explorer can be accessed here, while the Shasta blockchain explorer can be accessed here. Users can access the Shasta blockchain explorer site to open a Testnet wallet for receiving Testnet TRX for use via Tron Link. Mainnet and Testnet configuration files, which can be found at the Github repository, are also necessary during node setup.