Documentation Schedule a pilot

Supported API methods

The full list of API methods that are supported by an Ethereum Gateway is given below. The gateway returns a 403 if a method is specified that is not supported.

For a full list of JSON-RPC API methods, refer to the JSON-RPC specification ↗.

JSON-RPC method Cloudflare Ethereum Gateway support
web3_clientVersion ↗ ✅
web3_sha3 ↗ ✅
net_version ↗ ✅
net_listening ↗ ✅
eth_syncing ↗ ✅
eth_mining ↗ ✅
eth_gasPrice ↗ ✅
eth_feeHistory ↗1 ✅
eth_blockNumber ↗ ✅
eth_chainId ↗ ✅
eth_getBalance ↗ ✅
eth_getStorageAt ↗ ✅
eth_getTransactionCount ↗ ✅
eth_getBlockTransactionCountByHash ↗ ✅
eth_getBlockTransactionCountByNumber ↗ ✅
eth_getUncleCountByBlockHash ↗ ✅
eth_getUncleCountByBlockNumber ↗ ✅
eth_getCode ↗ ✅
eth_sendRawTransaction ↗ ✅
eth_call ↗ ✅
eth_estimateGas ↗ ✅
eth_getBlockByHash ↗ ✅
eth_getBlockByNumber ↗ ✅
eth_getTransactionByHash ↗ ✅
eth_getTransactionByBlockHashAndIndex ↗ ✅
eth_getTransactionByBlockNumberAndIndex ↗ ✅
eth_getTransactionReceipt ↗ ✅
eth_getUncleByBlockHashAndIndex ↗ ✅
eth_getUncleByBlockNumberAndIndex ↗ ✅
eth_getLogs ↗2 ✅
eth_getWork ↗ ✅
eth_getProof ↗ ✅
net_peerCount ↗ ❌
eth_protocolVersion ↗ ❌
eth_coinbase ↗ ❌
eth_hashrate ↗ ❌
eth_accounts ↗ ❌
eth_sign ↗ ❌
eth_sendTransaction ↗ ❌
eth_getCompilers ↗ ❌
eth_compileLLL ↗ ❌
eth_compileSolidity ↗ ❌
eth_compileSerpent ↗ ❌
eth_newFilter ↗ ❌
eth_newBlockFilter ↗ ❌
eth_newPendingTransactionFilter ↗ ❌
eth_uninstallFilter ↗ ❌
eth_getFilterChanges ↗ ❌
eth_getFilterLogs ↗ ❌
eth_submitWork ↗ ❌
eth_submitHashrate ↗ ❌

Trace methods

EVM traces are a way to track the execution of smart contracts on the Ethereum blockchain. It records all the steps taken by the Ethereum Virtual Machine (EVM) as it runs the smart contract. This includes information like the specific operation that was executed, how much gas it cost, and any changes made to the blockchain as a result. The trace module is a tool that allows developers to access and analyze these traces, which can be useful for debugging, testing, and monitoring smart contracts. It can be used to identify and fix errors, optimize performance, and gain insight into how the smart contract is interacting with the blockchain.

trace_filter

The trace_filter method retrieves the traces of multiple transactions in a single request. This method is particularly useful for debugging and monitoring specific addresses on the Ethereum blockchain.

Request Parameters

Returns

This method returns an Array of traces matching the given filter.

Example

trace_filter Request
curl https://web3-trial.cloudflare-eth.com/v1/mainnet \
-X POST \
-H 'Content-Type: application/json' \
--data '{
    "jsonrpc":"2.0",
    "method":"trace_filter",
    "params":[
        {
            "count": 200,
            "fromBlock": "0xccb943",
            "toBlock": "0xccbc62",
            "fromAddress": [
                "0xEdC763b3e418cD14767b3Be02b667619a6374076"
            ]
        }
    ],
    "id":1
    }'

Response

{
	"jsonrpc": "2.0",
	"result": [
		{
			"action": {
				"from": "0xedc763b3e418cd14767b3be02b667619a6374076",
				"callType": "call",
				"gas": "0x8462",
				"input": "0x095ea7b30000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
				"to": "0x7ff4169a6b5122b664c51c95727d87750ec07c84",
				"value": "0x0"
			},
			"blockHash": "0x351e7c06ec010c8f7e7358eb580238dd23e1e129be96822aa93ebb6da08558e6",
			"blockNumber": 13416771,
			"result": {
				"gasUsed": "0x6009",
				"output": "0x0000000000000000000000000000000000000000000000000000000000000001"
			},
			"subtraces": 0,
			"traceAddress": [],
			"transactionHash": "0x054bbb9fbb855bf23f755e548c7409f45fc5eff8a824b2ad06380bc038d7b049",
			"transactionPosition": 54,
			"type": "call"
		}
	],
	"id": 1
}

Limitations

The trace_filter method has some limitations to ensure that our nodes are not overloaded.

Footnotes

  1. Limitations: Max block count of 10. ↩

  2. Limitations: Max block range of 800 blocks. ↩

Request your free pilot

Schedule a pilot