qan_estimateGas
https://rpc-testnet.qanplatform.com/estimateGas/
API details
Returns an estimation of gas for a given transaction.
Request body for "qan_estimateGas"
The state override set with address-to-state mapping where each address maps to an object containing
Fake balance to set for the account before executing the call
Fake EVM bytecode to inject into the account before executing the call
Fake nonce to set for the account before executing the call
Fake key-value mapping to override all slots in the account storage before executing the call
Fake key-value mapping to override individual slots in the account storage before executing the call
The transaction call object
The hash of the method signature and encoded parameters. For more information, see the Contract ABI description in the Solidity documentation.
The address from which the transaction is sent
The integer of gas provided for the transaction execution
The integer of gasPrice used for each paid gas encoded as hexadecimal
The address to which the transaction is addressed
The integer of value sent with this transaction encoded as hexadecimal
HTTP response status codes for "qan_estimateGas"
Status Code | Description |
---|---|
200 | OK |
400 | Bad Request |
404 | Not Found |
422 | Unprocessable Entity |
500 | Internal Server Error |
Code samples for "qan_estimateGas"
Request examples
https://rpc-testnet.qanplatform.com/estimateGas/
curl --request POST \
--url https://rpc-testnet.qanplatform.com/estimateGas/ \
--header 'Accept: application/json, application/problem+json' \
--header 'Content-Type: application/json' \
--data '
{
"Object": {
"Balance": "string",
"Code": "0",
"Nonce": "string",
"State": "string",
"StateDiff": "string"
},
"Transaction": {
"Data": "string",
"From": "string",
"Gas": "string",
"GasPrice": "string",
"To": "string",
"Value": "string"
}
}
'
const options = {
method: 'POST',
headers: {
Accept: 'application/json, application/problem+json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
Object: {
Balance: 'string',
Code: '0',
Nonce: 'string',
State: 'string',
StateDiff: 'string'
},
Transaction: {
Data: 'string',
From: 'string',
Gas: 'string',
GasPrice: 'string',
To: 'string',
Value: 'string'
}
})
};
fetch('https://rpc-testnet.qanplatform.com/estimateGas/', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://rpc-testnet.qanplatform.com/estimateGas/"
payload := strings.NewReader("{\"Object\":{\"Balance\":\"string\",\"Code\":\"0\",\"Nonce\":\"string\",\"State\":\"string\",\"StateDiff\":\"string\"},\"Transaction\":{\"Data\":\"string\",\"From\":\"string\",\"Gas\":\"string\",\"GasPrice\":\"string\",\"To\":\"string\",\"Value\":\"string\"}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Accept", "application/json, application/problem+json")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
import requests
url = "https://rpc-testnet.qanplatform.com/estimateGas/"
payload = {
"Object": {
"Balance": "string",
"Code": "0",
"Nonce": "string",
"State": "string",
"StateDiff": "string"
},
"Transaction": {
"Data": "string",
"From": "string",
"Gas": "string",
"GasPrice": "string",
"To": "string",
"Value": "string"
}
}
headers = {
"Accept": "application/json, application/problem+json",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
HttpResponse<String> response = Unirest.post("https://rpc-testnet.qanplatform.com/estimateGas/")
.header("Accept", "application/json, application/problem+json")
.header("Content-Type", "application/json")
.body("{\"Object\":{\"Balance\":\"string\",\"Code\":\"0\",\"Nonce\":\"string\",\"State\":\"string\",\"StateDiff\":\"string\"},\"Transaction\":{\"Data\":\"string\",\"From\":\"string\",\"Gas\":\"string\",\"GasPrice\":\"string\",\"To\":\"string\",\"Value\":\"string\"}}")
.asString();
Responses
Description: OK
Content type: application/json
Example
{
"$schema": "https://rpc-testnet.qanplatform.com/schemas/Output_estimateGas.json",
"EstimatedGas": "string"
}
Body
A URL to the JSON Schema for this object.
Example:https://rpc-testnet.qanplatform.com/schemas/Output_estimateGas.json
The estimated amount of gas used
Description: Bad Request
Content type: application/problem+json
Example
{
"$schema": "https://rpc-testnet.qanplatform.com/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}
Body
A URL to the JSON Schema for this object.
Example:https://rpc-testnet.qanplatform.com/schemas/ErrorModel.json
A human-readable explanation specific to this occurrence of the problem.
Example:Property foo is required but is missing.
Optional list of individual error details
Where the error occurred, e.g. 'body.items3.tags' or 'path.thing-id'
Error message text
The value at the given location
A URI reference that identifies the specific occurrence of the problem.
Example:https://example.com/error-log/abc123
HTTP status code
Example:400
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
Example:Bad Request
A URI reference to human-readable documentation for the error.
Example:https://example.com/errors/example
Description: Not Found
Content type: application/problem+json
Example
{
"$schema": "https://rpc-testnet.qanplatform.com/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}
Body
A URL to the JSON Schema for this object.
Example:https://rpc-testnet.qanplatform.com/schemas/ErrorModel.json
A human-readable explanation specific to this occurrence of the problem.
Example:Property foo is required but is missing.
Optional list of individual error details
Where the error occurred, e.g. 'body.items3.tags' or 'path.thing-id'
Error message text
The value at the given location
A URI reference that identifies the specific occurrence of the problem.
Example:https://example.com/error-log/abc123
HTTP status code
Example:400
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
Example:Bad Request
A URI reference to human-readable documentation for the error.
Example:https://example.com/errors/example
Description: Unprocessable Entity
Content type: application/problem+json
Example
{
"$schema": "https://rpc-testnet.qanplatform.com/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}
Body
A URL to the JSON Schema for this object.
Example:https://rpc-testnet.qanplatform.com/schemas/ErrorModel.json
A human-readable explanation specific to this occurrence of the problem.
Example:Property foo is required but is missing.
Optional list of individual error details
Where the error occurred, e.g. 'body.items3.tags' or 'path.thing-id'
Error message text
The value at the given location
A URI reference that identifies the specific occurrence of the problem.
Example:https://example.com/error-log/abc123
HTTP status code
Example:400
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
Example:Bad Request
A URI reference to human-readable documentation for the error.
Example:https://example.com/errors/example
Description: Internal Server Error
Content type: application/problem+json
Example
{
"$schema": "https://rpc-testnet.qanplatform.com/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}
Body
A URL to the JSON Schema for this object.
Example:https://rpc-testnet.qanplatform.com/schemas/ErrorModel.json
A human-readable explanation specific to this occurrence of the problem.
Example:Property foo is required but is missing.
Optional list of individual error details
Where the error occurred, e.g. 'body.items3.tags' or 'path.thing-id'
Error message text
The value at the given location
A URI reference that identifies the specific occurrence of the problem.
Example:https://example.com/error-log/abc123
HTTP status code
Example:400
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
Example:Bad Request
A URI reference to human-readable documentation for the error.
Example:https://example.com/errors/example