eth_estimateGas

估算执行交易需要消耗的能量。

参数

  1. 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;合约部署或调用的估算结果以实际模拟执行为准。