Azxa
← Gnosis Chain overview

Gnosis Chain · eth

eth_estimateGas

Generates and returns an estimate of how much gas is necessary to allow the transaction to complete.

Parameters

  • Transaction required
    Schema
    {
      "type": "object",
      "title": "Transaction object generic to all types",
      "properties": {
        "accessList": {
          "type": "array",
          "title": "accessList",
          "description": "EIP-2930 access list",
          "items": {
            "type": "object",
            "title": "Access list entry",
            "properties": {
              "address": {
                "type": "string",
                "title": "hex encoded address",
                "pattern": "^0x[0-9a-fA-F]{40}$"
              },
              "storageKeys": {
                "type": "array",
                "items": {
                  "type": "string",
                  "title": "32 byte hex value",
                  "pattern": "^0x[0-9a-f]{64}$"
                }
              }
            },
            "required": [
              "address",
              "storageKeys"
            ]
          }
        },
        "authorizationList": {
          "type": "array",
          "title": "authorizationList",
          "description": "EIP-7702 authorization list",
          "items": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string",
                "title": "hex encoded address",
                "pattern": "^0x[0-9a-fA-F]{40}$"
              },
              "chainId": {
                "type": "string",
                "title": "chainId",
                "description": "Chain ID on which this transaction is valid",
                "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
              },
              "nonce": {
                "type": "string",
                "title": "nonce",
                "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
              },
              "r": {
                "type": "string",
                "title": "r",
                "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
              },
              "s": {
                "type": "string",
                "title": "s",
                "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
              },
              "yParity": {
                "type": "string",
                "title": "yParity",
                "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature",
                "pattern": "^0x[0-9a-f]{1,2}$"
              }
            },
            "required": [
              "chainId",
              "nonce",
              "address",
              "yParity",
              "r",
              "s"
            ]
          }
        },
        "blobVersionedHashes": {
          "type": "array",
          "title": "blobVersionedHashes",
          "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs.",
          "items": {
            "type": "string",
            "title": "32 byte hex value",
            "pattern": "^0x[0-9a-f]{64}$"
          }
        },
        "blobs": {
          "type": "array",
          "title": "blobs",
          "description": "Raw blob data.",
          "items": {
            "type": "string",
            "title": "hex encoded bytes",
            "pattern": "^0x[0-9a-f]*$"
          }
        },
        "chainId": {
          "type": "string",
          "title": "chainId",
          "description": "Chain ID that this transaction is valid on.",
          "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
        },
        "commitments": {
          "type": "array",
          "title": "commitments",
          "description": "List of blob commitments as per EIP-4844.",
          "items": {
            "type": "string",
            "title": "hex encoded bytes",
            "pattern": "^0x[0-9a-f]*$"
          }
        },
        "from": {
          "type": "string",
          "title": "from address",
          "pattern": "^0x[0-9a-fA-F]{40}$"
        },
        "gas": {
          "type": "string",
          "title": "gas limit",
          "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
        },
        "gasPrice": {
          "type": "string",
          "title": "gas price",
          "description": "The gas price willing to be paid by the sender in wei",
          "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
        },
        "input": {
          "type": "string",
          "title": "input data",
          "pattern": "^0x[0-9a-f]*$"
        },
        "maxFeePerBlobGas": {
          "type": "string",
          "title": "max fee per blob gas",
          "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei",
          "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
        },
        "maxFeePerGas": {
          "type": "string",
          "title": "max fee per gas",
          "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei",
          "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
        },
        "maxPriorityFeePerGas": {
          "type": "string",
          "title": "max priority fee per gas",
          "description": "Maximum fee per gas the sender is willing to pay to miners in wei",
          "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
        },
        "nonce": {
          "type": "string",
          "title": "nonce",
          "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
        },
        "proofs": {
          "type": "array",
          "title": "proofs",
          "description": "List of blob proofs. Pre-PeerDAS this contains one KZG proof per blob (length == len(blobs)). Post-PeerDAS this contains cell proofs with length == 128 * len(blobs).",
          "items": {
            "type": "string",
            "title": "hex encoded bytes",
            "pattern": "^0x[0-9a-f]*$"
          }
        },
        "to": {
          "title": "to address",
          "oneOf": [
            {
              "type": "null",
              "title": "Contract Creation (null)"
            },
            {
              "type": "string",
              "title": "Address",
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          ]
        },
        "type": {
          "type": "string",
          "title": "type",
          "pattern": "^0x[0-9a-f]{1,2}$"
        },
        "value": {
          "type": "string",
          "title": "value",
          "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
        }
      }
    }
  • Block
    Schema
    {
      "title": "Block number or tag",
      "oneOf": [
        {
          "type": "string",
          "title": "Block number",
          "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
        },
        {
          "type": "string",
          "title": "Block tag",
          "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error",
          "enum": [
            "earliest",
            "finalized",
            "safe",
            "latest",
            "pending"
          ]
        }
      ]
    }

Result

Gas used

Schema
{
  "type": "string",
  "title": "hex encoded unsigned integer",
  "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
}

Example request

Endpoint: https://your-gno-node.azxa.io

JSON-RPC
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_estimateGas",
  "params": [
    {
      "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
      "to": "0x44aa93095d6749a706051658b970b941c72c1d53",
      "value": "0x1"
    }
  ]
}
Example response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x5208"
}

Test fixture

Fixture: estimate-call-abi-error

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_estimateGas",
  "params": [
    {
      "from": "0x0102030000000000000000000000000000000000",
      "input": "0x01",
      "to": "0x0ee3ab1371c93e7c0c281cc0c2107cdebc8b1930"
    }
  ]
}
Response
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": 3,
    "message": "execution reverted: user error",
    "data": "0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000…75736572206572726f72"
  }
}

cURL

curl -X POST https://your-gno-node.azxa.io \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_estimateGas","params":[{"from":"0xfe3b557e8fb62b89f4916b721be55ceb828dbd73","to":"0x44aa93095d6749a706051658b970b941c72c1d53","value":"0x1"}]}'
1

Select Chain

2

Desired Period

3

Contact Information

cross

Select Preferred Chain

BNB Smart Chain
Polygon
Tron
Arbitrum
Optimism
IoTeX
Gnosis
Fantom
Moonbeam
Polkadot
Avalanche
Bitcoin
Ethereum
Aptos
Other
cube

Other Chain

Continue
logo
cross
background