This API is closed by default. To open this interface, the two configuration items vm.estimateEnergy and vm.supportConstant must be enabled in the node configuration file at the same time.
The wallet/triggerconstantcontract API can be used to estimate the energy consumption value of calling most smart contracts on the chain, such as USDD, USDT, USDC, TUSD, etc. Meanwhile, compared to the existing wallet/triggerconstantcontract API, the wallet/estimateEnergy API will be more accurate in estimating the energy consumption of calling a small number of special contracts. But for FullNode, enabling the wallet/estimateEnergy API is optional. If an error message (e.g., "this node does not support estimate energy") is shown when calling the new API, it is recommended to continue using the wallet/triggerconstantcontract API to estimate energy consumption.
estimateenergy will not generate an on-chain transaction, nor will it change the status of the current node.
The energy_required field in the returned value indicates the estimated energy amount. Therefore, the fee_limit of the transaction can be set to energy_required x energy unit price.
Parameter encoding and decoding example: Parameter and return value encoding and decoding.