java-tron 资源模型全览:投票权、带宽与能量一次看懂

·

为什么 TRON 需要“投票权、带宽、能量”三大资源

在 TRON 主网上,每一笔交易都必须消耗网络资源,这就是全网公认的“资源模型”。无论是给超级代表投票,还是发起一次智能合约交互,背后都绕不开投票权(TRON Power, 简称 TP)、带宽(Bandwidth Points, 简称 BP)与能量(Energy, 简称 EN)。
掌握它们的来源、消耗及恢复规则,是避免“莫名扣费”或“交易失败”的关键。

👉 点我查看官方实时参数,获取最权威的资源阈值与动态比率。


投票权:每质押 1 TRX 就获得 1 TP

投票权仅限质押 TRX 获取,质押使用的 API 为 wallet/freezebalancev2,锁定 TRX 的同时,你会收到:

  1. 对应数量的 投票权 TP(1:1 对应)
  2. 可选带宽 BP 或能量 EN 额度(只能二选一)

质押后,重复质押会累加 TP,但不会产生新的锁定周期。投票使用 wallet/votewitnessaccount,支持一键查看剩余票数:wallet/getaccountresource 解析字段 tronPowerLimittronPowerUsed


带宽:每日 600 点免费 + 全网约 432 亿点总量

带宽决定“交易的字节”能否上链的门槛。

获取与计算

来源规则
每日免费600 BP,按 UTC+0 重置
质押奖励你质押 TRX 占全网质押带宽的比例 × 上限(43,200,000,000)

消耗优先级

  1. 自建账户 / Token 发行者私有的质押带宽;
  2. Token 合约的私设带宽池;
  3. 免费 600 点;
  4. 最终燃烧 TRX(每字节 1000 SUN,≈ 0.001 TRX)。

24 小时自动回充

无论免费还是质押带宽,当天消耗后将在 24 小时间隔内线性恢复。因此短炒高频交易务必提前规划,避免“空档期”无法发交易。


能量:智能合约的“汽油费”

能量仅用于虚拟机执行,与普通转账无关。

获取方式

消耗顺序

  1. 先扣质押能量;
  2. 再燃烧 TRX,单价 0.00021 TRX/EN。

feeLimit 必填字段

调用合约时需在 Transaction.raw.feeLimit 填入愿意预付的 TRX(单位 SUN,0~15×10⁹)。
👉 详细示例脚本:15 秒复制粘贴即可安心调用热门合约。


动态能量:热门合约“单价”上调机制

为防止少数合约耗尽全网资源,TRON 引入网络级参数 energy_factor

检查当前合约放大系数:getcontractinfo,API 返回值中的 energy_factor 即实时比率。


质押 → 代理 → 解质押一站说明

步骤指令说明
质押wallet/freezebalancev2锁定 TRX,获得带宽/能量+投票权 TP
代理资源wallet/delegateresource把未使用的带宽/能量转给小伙伴(3天锁)
取消代理wallet/undelegateresource解除代理,需等待 3 天
解质押wallet/unfreezebalancev2申请赎回,14 天后到账;最多 32 笔并行
取消全部申请cancelallunfreezev2即时重置,资金重回质押状态

常见问题 FAQ

Q1:质押换取的资源是否会永久失效?
不会。24 小时后自动回满,随时可以再次使用。

Q2:为何我拥有 2000 TP,投票却提示“票数不足”?
先确认是否已把 TP 投给了候选人,剩余票数查看 tronPowerLimit - tronPowerUsed 即可。

Q3: EA Sports DAO 合约消耗暴涨,如何测算能量?
直接用 getcontractinfo 拿到 energy_factor,再用公式:
“预估能量 = 基础能量 × (1+ energy_factor)”。记得同步提高 feeLimit。

Q4:多笔解质押同时发起,最长须等多久?
最多排队 32 笔,每笔 14 天解锁,同批次统一到期可提取。

Q5:解质押生效后还能重新质押吗?
可以。14 天冷却期内只需执行 cancelallunfreezev2 即可一键复位。


API 速查备忘录

// 质押 TRX -> 资源
POST wallet/freezebalancev2
{
  "owner_address" : "...",             // 十六进制
  "frozen_balance" : 1_000_000,        // 最小单位 SUN
  "resource" : 0/1                     // 0=带宽 1=能量
}

// 查看资源余额
GET wallet/getaccountresource?address=...

// 查看可代理余额
GET wallet/getcandelegatedmaxsize?owner_address=...&type=0/1
所有上述参数请替换为个人地址,并严格走离线签名流程以确保私钥安全。

掌握以上规则后,无论是日常转账还是部署复杂 DeFi 合约,都能根据能量、带宽与投票权的实时波动,用最经济的方式完成每一次链上操作。祝你玩转 TRON!