post
https://api.shasta.trongrid.io/wallet/estimateenergy
估算合约调用 / 部署所需的能量——返回的 energy_required 需按当前能量单价换算为 fee_limit。
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
估算合约调用 / 部署所需的能量。energy_required 的单位是 Energy,而交易中的 fee_limit 单位是 sun,不能直接赋值。基础换算关系为:
fee_limit(sun)= energy_required × getEnergyFee(sun/Energy)getEnergyFee 是可由治理修改的链参数,应通过 wallet/getchainparameters 查询当前值。生产交易还应为估算与上链之间的状态变化、动态能量因子变化保留合理余量,并确保结果不超过链参数 getMaxFeeLimit。
节点默认关闭本接口在节点上默认未启用——需要在节点配置文件中同时设置
vm.estimateEnergy = true与vm.supportConstant = true才能调用。公共 RPC(含 TronGrid)是否支持取决于运营方配置。
能量估算接口选择与 TriggerConstantContract 的选择。大多数主流合约(USDD、BTT、TUSD 等)用 TriggerConstantContract 估算能量已经足够;少数特殊合约(如分支逻辑依赖链上状态的合约)下,
EstimateEnergy的结果可能更接近实际消耗。估算基于调用时的链上状态,不保证交易上链时一定成功。
相关资源
- TriggerConstantContract —— 通用的只读模拟调用,多数场景下足够估算能量
- 合约调用与能量计费 ——
fee_limit计算与能量分摊机制 - 参数与返回值编解码 ——
parameter字段的 ABI 编码规则