架构概览
从整体视角理解 TRON:应用层、核心层、存储层,交易从构造到固化的链路,以及 Mainnet、Shasta、Nile 的用途。
前置阅读
本文说明 TRON 各组件之间的关系和协作方式。读完这一页,你会理解三件事:TRON 由哪几层构成,交易如何进入区块,测试网和主网应该怎么选。
三层架构
┌─────────────────────────────────────────────────┐
│ Application Layer │
│ TronWeb · Trident · TronBox · TronGrid API │
├─────────────────────────────────────────────────┤
│ Core Layer │
│ TVM · Consensus (DPoS) · Account Management │
│ Transaction Processing · Resource Model │
├─────────────────────────────────────────────────┤
│ Storage Layer │
│ LevelDB / RocksDB · Block Store · State Trie │
└─────────────────────────────────────────────────┘
应用层
应用层是开发者日常直接接触的一层:
- SDK:TronWeb(JavaScript)、Trident(Java)。
- 开发工具:TronBox 负责合约编译与部署,TronIDE 提供浏览器内 IDE 体验。
- API 基础设施:TronGrid 等托管节点服务,配套 FullNode HTTP API 与 JSON-RPC。
- 钱包:TRON 生态钱包 涵盖浏览器扩展与移动端应用。
核心层
核心层负责共识、交易处理与智能合约执行:
- 共识:27 位超级代表(SR)通过 DPoS 每 3 秒出一个区块。
- TVM:TRON 虚拟机(TRON Virtual Machine)负责执行 Solidity 智能合约。
- 资源:带宽(Bandwidth)与能量(Energy) 用于结算交易和合约执行成本。
- 账户:账户模型 支持面向多重签名场景的权限管理。
存储层
存储层负责持久化区块、交易、账户状态和合约状态。java-tron 默认使用 LevelDB,也可配置 RocksDB。新节点初始同步可借助数据库快照缩短启动时间。
理解了各层职责后,下面看一笔交易如何穿过这三层,从用户签名到最终固化。
交易生命周期
- 构造:用户、DApp 或后端服务构造交易,例如 TRX 转账、合约调用、质押或投票。
- 签名:发送方用私钥对交易签名。私钥不应离开钱包、后端密钥管理系统或离线签名环境。
- 广播:已签名交易通过 HTTP、gRPC 或 SDK 提交给全节点。
- 校验:节点校验以下内容:签名有效性、TAPOS 字段(引用最近区块哈希,防止跨链重放)、发送方余额、可用带宽、可用能量、交易格式。
- 执行:如果交易涉及智能合约,TVM 执行合约代码并生成状态变更;同时根据交易复杂度从发送方扣除带宽或能量。
- 打包:当前轮值 SR 将交易写入区块,TRON 约每 3 秒生成一个区块。
- 固化:一个区块获得至少 19 位不同活跃 SR 在该高度或更高高度出块后,即完成固化(主网上通常约 1 分钟)。固化意味着交易不可逆。大多数 DApp 等首次确认(~3 秒)即可满足用户体验;交易所入金和高价值转账建议等待固化完成。
需要动手验证整个流程,可直接进入发送第一笔交易。
上面的流程在测试网和主网上完全一致。
三套网络
入门阶段通常会接触三套网络:
| 网络 | 用途 | Chain ID |
|---|---|---|
| Mainnet | 生产环境,涉及真实资产和实际资源成本 | 0x2b6653dc |
| Shasta | 公共测试网,配置最接近 Mainnet,稳定;适合教程演练、钱包测试和 DApp 功能验证 | 0x94a9059e |
| Nile | 公共测试网,跟踪 java-tron 开发分支,更新更快;适合新特性测试和协议升级前兼容性验证 | 0xcd8690dc |
详细连接参数见 Networks。
下一步
根据你的目标选择下一步:
- 系统理解核心概念:TRON 如何运作 —— 深入共识、资源与治理
- 开始写代码:智能合约 —— 直接进入 Solidity 开发
- 从以太坊迁移过来:TRON vs Ethereum —— 面向 EVM 开发者的横向对比
相关资源
- 领取测试网 Token —— 申请测试网 TRX 和 TRC-20 Token
- 连接到 TRON 网络 —— 配置 TronWeb / Trident 并选定 endpoint
- Networks —— Mainnet、Shasta、Nile 的完整配置
Updated 13 days ago