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.