Home指南API 参考手册
指南API 参考手册社区Discord博客FAQ漏洞赏金公告中心English(英文版)Log In
指南

取消资源代理时的资源回收

在 TRON 网络中,账户获得的资源数量取决于其 TRX 质押量 在全网总质押量中的占比。

当代理方将资源代理给被代理方时,本质上是将其自身质押的一定数量的 TRX 份额借给被代理方。在计算资源配额时,系统对 TRX 的来源不作区分。账户自持质押接收代理的 TRX 将被合并统计,统一作为获取资源的权重基数。

基于上述机制,本文所称“质押数额”除另有说明外,均指该账户的质押总额(含自身质押及他人代理),不再对其来源进行区分。

资源回收

当代理方发起资源代理时,会将一定数量的 TRX 质押份额借给被代理方,使其获得相应资源的使用权;当代理方执行取消资源代理操作时,系统不仅收回对应的 TRX 质押份额,同时会按比例回收被代理方账户中的未恢复资源。

未恢复资源的回收逻辑

1. 计算公式

系统会根据取消代理的 TRX 数额,按比例回收被代理方账户中尚未恢复的资源。计算公式:

回收的未恢复资源数量 = (取消代理的 TRX 数额 / 被代理方该资源的总质押数额) * 被代理方的未恢复资源量

注意:回收的未恢复资源数量,不得超过本次取消代理的 TRX 数量按当前全网实时质押量计算出的最大资源容量。

  • 取消代理的 TRX 数额:在取消资源代理交易中,回收的 TRX 质押额度。
  • 被代理方该资源的总质押数额:指被代理方持有的某项资源(能量或带宽)的质押总量(Stake 1.0 和 Stake 2.0 自身质押以及他人代理总和)。可通过 wallet/getaccount 接口查询。
  • 被代理方的未恢复资源量:指被代理方账户中当前已消耗且正在处于恢复周期内的资源数量。可通过 wallet/getaccountwallet/getaccountresource 接口查询。

2.账户状态变化

取消资源代理完成后,双方账户在资源相关的有效状态上将发生如下变化。 以下表达仅用于描述逻辑层面的变化关系,其中“质押数额”为计算概念,并不对应链上的某一具体字段。

代理方

质押数额 = 原质押数额 + 取消代理的 TRX 数额

未恢复资源量 = 原未恢复资源量 + 回收的未恢复资源量

被代理方

质押数额 = 原质押数额 - 取消代理的 TRX 数额

未恢复资源量 = 原未恢复资源量 - 回收的未恢复资源量

注意: 资源被消耗后会在 24 小时内匀速线性地恢复。如果在恢复期间,账户再次使用资源或收回代理资源,系统会将原有的恢复进度与新的恢复周期进行加权合并。

示例

假设当前全网资源倍率为:1 TRX 质押量 = 0.2 Energy,并且全网的质押总量不变。用户 X 将其持有的 200 TRX 额度的能量代理给了用户 Y。在用户 X 取消代理操作前,两个账户的状态如下:

账户角色总质押数额(为获取能量)能量总量未恢复的能量数量
X代理方1000 TRX200 Energy75 Energy
Y被代理方500 TRX100 Energy50 Energy

当用户 X 取消对 用户 Y 的 200 TRX 的能量代理时:

回收的未恢复能量数量 = (200 / 500) * 50 = 20 Energy

回收后,各账户的状态:

账户身份总质押数额(为获取能量)能量总量未恢复的能量数量
X代理方1200 TRX(1000 + 200 )240 Energy95 Energy( 75 + 20 )
Y被代理方300 TRX(500 - 200)60 Energy30 Energy( 50 -20 )