估算执行交易需要消耗的能量。
参数
-
Object- 交易调用对象,包含以下字段:字段名 数据类型 描述 fromDATA, 20 Bytes发送方地址。 toDATA, 20 Bytes接收方地址。 gasQUANTITY费用限额。为兼容以太坊而保留;TRON 忽略此字段。 gasPriceQUANTITY能量单价。为兼容以太坊而保留;TRON 忽略此字段。 valueQUANTITY通过 call_value发送的 TRX 数量(单位:sun)。dataDATA函数选择器及 ABI 编码后的参数;为兼容旧客户端保留宽松 hex 解析。 inputDATAdata的别名;两者同时设置时优先使用input。非空值必须带0x前缀且 hex 位数为偶数;空字符串表示空字节。
返回值
返回执行预计消耗的 Energy 数量,以十六进制 QUANTITY 表示。普通 TRX 转账使用 TransferContract,不执行智能合约,因此返回 0x0。对于合约部署或调用:
- 节点启用
vm.estimateEnergy时,返回能耗估算接口的energy_required。 - 节点未启用
vm.estimateEnergy时,通过常量调用执行模拟,返回energy_used。
示例
请求
curl -X POST 'https://api.shasta.trongrid.io/jsonrpc' --data '{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_estimateGas",
"params": [{
"from": "0xF0CC5A2A84CD0F68ED1667070934542D673ACBD8",
"to": "0x70082243784DCDF3042034E7B044D6D342A91360",
"gas": "0x01",
"gasPrice": "0x8c",
"value": "0x01",
"data": "0x70a08231000000000000000000000000f0cc5a2a84cd0f68ed1667070934542d673acbd8"
}]
}'响应
{"jsonrpc":"2.0","id":1,"result":"0x0"}此示例中的 0x0 表示请求被按普通 TRX 转账处理,预计不消耗 Energy;合约部署或调用的估算结果以实际模拟执行为准。
