[Transaction] klay_estimateGas
Generates and returns an estimate of how much gas is necessary to allow the transaction to complete. The transaction will not be added to the blockchain. Note that the estimate may be significantly more than the amount of gas actually used by the transaction, for a variety of reasons including Kaia Virtual Machine mechanics and node performance.
JSONRPC: klay_estimateGas
Request
- application/json
Body
Array [
- IntegerBlockNumber
- HexadecimalBlockNumber
- BlockTag
- BlockHash
]
params
undefined[]
required
CallObject
object
The transaction call object. See the next table for the object's properties.
(optional) The address the transaction is sent from.
(optional when testing the deployment of a new contract) The address the transaction is directed to.
(optional) Integer of the gas provided for the transaction execution. kaia_call consumes zero gas, but this parameter may be needed by some executions.
(optional) Integer of the gasPrice used for each paid gas.
(optional) Integer of the value sent with this transaction.
(optional) Hash of the method signature and encoded parameters. It replaces data field, but 'data` field is still supported for backward compatibility.
BlockNumberOrHashOrTag
object
oneOf
the block number with type integer
number
the block number with type hexadecimal
string
the block tag [latest, pending, earliest]
string
the block hash
string
StateOverrideSet
object
The state override set is an optional address-to-state mapping, where each entry specifies some state to be ephemerally overridden prior to executing the call.
(optional) Fake balance to set for the account before executing the call.
(optional) Fake nonce to set for the account before executing the call.
(optional) Fake EVM bytecode to inject into the account before executing the call.
(optional) Fake key-value mapping to override all slots in the account storage before executing the call.
(optional) Fake key-value mapping to override individual slots in the account storage before executing the call.
Responses
- 200
The amount of gas used.
- application/json
- Schema
- Example (from schema)
Schema
error
object
A Number that indicates the error type that occurred. This MUST be an integer.
code | message | description |
---|---|---|
-32700 | Parse error | invalid JSON was received by the server. An error occurred on the server while parsing the JSON text. |
-32602 | Invalid params | Invalid method parameter(s). |
A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.
A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.).
The amount of gas used.
{
"jsonrpc": "2.0",
"id": 0,
"error": {
"code": -32700,
"message": "Parse error",
"data": "string"
},
"result": "0x5208"
}