Skip to content
You are reading Pantheon development version documentation and some displayed features may not be available in the stable release. You can switch to stable version using the version box at screen bottom.

Pantheon API Methods

Attention

All JSON-RPC HTTP examples use the default host and port endpoint http://127.0.0.1:8545.

If using the –rpc-http-host or –rpc-http-port options, update the endpoint.

Admin Methods

Note

The ADMIN API methods are not enabled by default for JSON-RPC. Use the --rpc-http-api or --rpc-ws-api options to enable the ADMIN API methods.

admin_addPeer

Adds a static node.

Caution

If connections are timing out, ensure the node ID in the enode URL is correct.

Parameters

string : Enode URL of peer to add

Returns

result : boolean - true if peer added or false if peer already a static node.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"admin_addPeer","params":["enode://f59c0ab603377b6ec88b89d5bb41b98fc385030ab1e4b03752db6f7dab364559d[email protected]127.0.0.1:30304"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"admin_addPeer","params":["enode://f59c0ab603377b6ec88b89d5bb41b98fc385030ab1e4b03752db6f7dab364559d[email protected]127.0.0.1:30304"],"id":1}
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": true
}

admin_nodeInfo

Returns networking information about the node. The information includes general information about the node and specific information from each running Ethereum sub-protocol (for example, eth).

Parameters

None

Returns

result : Node object

Properties of the node object are:

  • enode - Enode URL for the node
  • listenAddr - Host and port for the node
  • name - Client name
  • id - Node public key
  • ports - Peer discovery and listening ports
  • protocols - List of objects containing information for each Ethereum sub-protocol

Note

If the node is running locally, the host of the enode and listenAddr are displayed as [::] in the result.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"admin_nodeInfo","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"admin_nodeInfo","params":[],"id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "enode": "enode://87ec35d558352cc55cd1bf6a472557797f91287b78fe5e86760219124563450ad[email protected][::]:30303",
        "listenAddr": "[::]:30303",
        "name": "pantheon/v1.0.1-dev-0d2294a5/osx-x86_64/oracle-java-1.8",
        "id": "87ec35d558352cc55cd1bf6a472557797f91287b78fe5e86760219124563450ad1bb807e4cc61e86c574189a851733227155551a14b9d0e1f62c5e11332a18a3",
        "ports": {
            "discovery": 30303,
            "listener": 30303
        },
        "protocols": {
            "eth": {
                "config": {
                    "chainId": 2018,
                    "homesteadBlock": 0,
                    "daoForkBlock": 0,
                    "daoForkSupport": true,
                    "eip150Block": 0,
                    "eip155Block": 0,
                    "eip158Block": 0,
                    "byzantiumBlock": 0,
                    "constantinopleBlock": 0,
                    "constantinopleFixBlock": 0,
                    "ethash": {
                        "fixeddifficulty": 100
                    }
                },
                "difficulty": 78536,
                "genesis": "0x43ee12d45470e57c86a0dfe008a5b847af9e372d05e8ba8f01434526eb2bea0f",
                "head": "0xc6677651f16d07ae59cab3a5e1f0b814ed2ec27c00a93297b2aa2e29707844d9",
                "network": 2018
            }
        }
    }
}

admin_peers

Returns networking information about connected remote nodes.

Parameters

None

Returns

result : array of objects - Object returned for each remote node.

Properties of the remote node object are:

  • version - P2P protocol version
  • name - Client name
  • caps - List of Ethereum sub-protocol capabilities
  • network - Local and remote addresses established at time of bonding with the peer. The remote address may not match the hex value for port. The remote address depends on which node initiated the connection.
  • port - Port on the remote node on which P2P peer discovery is listening
  • id - Node public key. Excluding the 0x prefix, the node public key is the ID in the enode URL enode://<id ex 0x>@<host>:<port>.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"admin_peers","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"admin_peers","params":[],"id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : [ 
    {
      "version": "0x5",
      "name": "Parity-Ethereum/v2.3.0-nightly-1c2e121-20181116/x86_64-linux-gnu/rustc1.30.0",
      "caps": [
         "eth/62",
         "eth/63",
         "par/1",
         "par/2",
         "par/3",
         "pip/1"
      ],
       "network": {
          "localAddress": "192.168.1.229:50115",
          "remoteAddress": "168.61.153.255:40303"
       },
       "port": "0x9d6f",
       "id": "0xea26ccaf0867771ba1fec32b3589c0169910cb4917017dba940efbef1d2515ce864f93a9abc846696ebad40c81de7c74d7b2b46794a71de8f95a0d019f494ff3"
    } 
  ]
}

admin_removePeer

Removes a static node.

Parameters

string : Enode URL of peer to remove

Returns

result : boolean - true if peer removed or false if peer not a static node).

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"admin_removePeer","params":["enode://f59c0ab603377b6ec88b89d5bb41b98fc385030ab1e4b03752db6f7dab364559d[email protected]127.0.0.1:30304"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"admin_removePeer","params":["enode://f59c0ab603377b6ec88b89d5bb41b98fc385030ab1e4b03752db6f7dab364559d[email protected]127.0.0.1:30304"],"id":1}
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": true
}

Web3 Methods

web3_clientVersion

Returns the current client version.

Parameters

None

Returns

result : string - Current client version.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":1}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : "pantheon/1.1.1"
}

web3_sha3

Returns a SHA3 hash of the specified data. The result value is a Keccak-256 hash, not the standardized SHA3-256.

Parameters

DATA - Data to convert to a SHA3 hash.

Returns

result (DATA) - SHA3 result of the input data.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"web3_sha3","params":["0x68656c6c6f20776f726c00"],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"web3_sha3","params":["0x68656c6c6f20776f726c00"],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : "0x5e39a0a66544c0668bde22d61c47a8710000ece931f13b84d3b2feb44ec96d3f"
}

Net Methods

net_version

Returns the current chain ID.

Parameters

None

Returns

result : string - Current chain ID. - 1 - Ethereum Mainnet - 2 - Morden Testnet (deprecated) - 3 - Ropsten Testnet - 4 - Rinkeby Testnet - 5 - Goerli Testnet - 42 - Kovan Testnet

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"net_version","params":[],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 51,
  "result" : "1"
}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : "3"
}

net_listening

Indicates whether the client is actively listening for network connections.

Parameters

None

Returns

result (BOOLEAN) - true if the client is actively listening for network connections; otherwise false.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"net_listening","params":[],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"net_listening","params":[],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : true
}

net_peerCount

Returns the number of peers currently connected to the client.

Parameters

None

Returns

result : integer - Number of connected peers in hexadecimal.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : "0x5"
}

net_enode

Returns the enode URL.

Parameters

None

Returns

result : string - Enode URL for the node

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"net_enode","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"net_enode","params":[],"id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : "enode://6a63160d0ccef5e4986d270937c6c8d60a9a4d3b25471cda960900d037c61988e[email protected]127.0.0.1:30303"
}

net_services

Returns enabled services (for example, jsonrpc) and the host and port for each service.

Parameters

None

Returns

result : objects - Enabled services

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"net_services","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"net_services","params":[],"id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "jsonrpc": {
            "host": "127.0.0.1",
            "port": "8545"
        },
        "p2p" : {
            "host" : "127.0.0.1",
            "port" : "30303"
        },
        "metrics" : {
            "host": "127.0.0.1",
            "port": "9545"
        }
    }
}

Eth Methods

Note

Methods with an equivalent GraphQL query include a GraphQL request and result in the method example. The parameter and result descriptions apply to the JSON-RPC requests. The GraphQL specification is defined in the schema.

eth_syncing

Returns an object with data about the synchronization status, or false if not synchronizing.

Parameters

None

Returns

result : Object|Boolean - Object with synchronization status data or false, when not synchronizing:

  • startingBlock : quantity - Index of the highest block on the blockchain when the network synchronization starts.

  • currentBlock : quantity - Index of the latest block (also known as the best block) for the current node. This is the same index that eth_blockNumber returns.

  • highestBlock: quantity - Index of the highest known block in the peer network (that is, the highest block so far discovered among peer nodes). This is the same value as currentBlock if the current node has no peers.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":51}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":51}
{
  "jsonrpc" : "2.0",
  "id" : 51,
  "result" : {
    "startingBlock" : "0x5a0",
    "currentBlock" : "0xad9",
    "highestBlock" : "0xad9"
  }
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{syncing{startingBlock currentBlock highestBlock}}"}' http://localhost:8547/graphql
{
  syncing {
    startingBlock
    currentBlock
    highestBlock
  }
}
{
  "data" : {
    "syncing" : {
      "startingBlock" : 1592,
      "currentBlock" : 31988,
      "highestBlock" : 4389714
    }
  }
}

eth_chainId

Returns the chain ID.

Parameters

None

Returns

result : quantity - Chain ID in hexadecimal.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":51}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":51}
{
  "jsonrpc" : "2.0",
  "id" : 51,
  "result" : "0x7e2"
}

eth_protocolVersion

Returns current Ethereum protocol version.

Parameters

None

Returns

result : quantity - Ethereum protocol version

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_protocolVersion","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_protocolVersion","params":[],"id":1}
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x3f"
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{protocolVersion}"}' http://localhost:8547/graphql
{
  protocolVersion
}
{
  "data" : {
    "protocolVersion" : 63
  }
}

eth_coinbase

Returns the client coinbase address. The coinbase address is the account to which mining rewards are paid.

To set a coinbase address, start Pantheon with the --miner-coinbase option set to a valid Ethereum account address. You can get the Ethereum account address from a client such as MetaMask or Etherscan. For example:

Example

pantheon --miner-coinbase="0xfe3b557e8fb62b89f4916b721be55ceb828dbd73" --rpc-http-enabled

Parameters

None

Returns

result : data - Coinbase address.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}

eth_mining

Indicates whether the client is actively mining new blocks. Mining is paused while the client synchronizes with the network regardless of command settings or methods called.

Parameters

None

Returns

result (BOOLEAN) - true if the client is actively mining new blocks; otherwise false.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_mining","params":[],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_mining","params":[],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : true
}

eth_hashrate

Returns the number of hashes per second with which the node is mining.

Parameters

None

Returns

result : quantity - Number of hashes per second

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_hashrate","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_hashrate","params":[],"id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": "0x12b"
}

eth_gasPrice

Returns the current gas unit price in wei.

Parameters

None

Returns

result : quantity - Current gas unit price in wei as a hexadecimal value.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : "0x3e8"
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{gasPrice}"}' http://localhost:8547/graphql
{
  gasPrice
}
{
  "data" : {
    "gasPrice" : "0x3e8"
  }
}

eth_accounts

Returns a list of account addresses that the client owns.

Note

This method returns an empty object because Pantheon doesn’t support key management inside the client.

Use EthSigner with Pantheon to provide access to your key store and sign transactions.

Parameters

None

Returns

Array of data : List of 20-byte account addresses owned by the client.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : [ ]
}

eth_blockNumber

Returns the index of the current block the client is processing.

Parameters

None

Returns

result : QUANTITY - Hexadecimal integer representing the 0-based index of the block that the client is currently processing.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":51}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":51}
{
  "jsonrpc" : "2.0",
  "id" : 51,
  "result" : "0x2377"
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block{number}}"}' http://localhost:8547/graphql
{
  block {
    number
  }
}
{
  "data" : {
    "block" : {
      "number" : 16221
    }
  }
}

eth_getBalance

Returns the account balance of the specified address.

Parameters

DATA - 20-byte account address from which to retrieve the balance.

QUANTITY|TAG - Integer representing a block number or one of the string tags latest, earliest, or pending, as described in Block Parameter.

Returns

result : QUANTITY - Integer value of the current balance in wei.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xdd37f65db31c107f773e82a4f85c693058fef7a9", "latest"],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xdd37f65db31c107f773e82a4f85c693058fef7a9", "latest"],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : "0x0"
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{ account ( address: \"0xfe3b557e8fb62b89f4916b721be55ceb828dbd73\") { balance } }"}' http://localhost:8547/graphql
{
  account(address: "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73") {
    balance
  }
}
{
  "data": {
    "account": {
      "balance": "0xac70d23585eadfc2e"
    }
  }
}    

eth_getStorageAt

Returns the value of a storage position at a specified address.

Parameters

DATA - A 20-byte storage address.

QUANTITY - Integer index of the storage position.

QUANTITY|TAG - Integer representing a block number or one of the string tags latest, earliest, or pending, as described in Block Parameter.

Returns

result : DATA - The value at the specified storage position.

Example

Calculating the correct position depends on the storage you want to retrieve.

curl -X POST --data '{"jsonrpc":"2.0","method": "eth_getStorageAt","params": ["0x‭3B3F3E‬","0x0","latest"],"id": 53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method": "eth_getStorageAt","params": ["0x‭3B3F3E‬","0x0","latest"],"id": 53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : "0x0000000000000000000000000000000000000000000000000000000000000000"
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{account(address: \"0xfe3b557e8fb62b89f4916b721be55ceb828dbd73\") {storage(slot: \"0x04\")}}"}' http://localhost:8547/graphql
{
  account(address: "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73") {
    storage(slot: "0x04")
  }
}
{
  "data" : {
    "account" : {
      "storage" : "0x0000000000000000000000000000000000000000000000000000000000000000"
    }
  }
}   

eth_getTransactionCount

Returns the number of transactions sent from a specified address. Use the pending tag to get the account nonce.

Parameters

data - 20-byte account address.

quantity|tag - Integer representing a block number or one of the string tags latest, earliest, or pending, as described in Block Parameter.

Returns

result : quantity - Integer representing the number of transactions sent from the specified address.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params":["0xc94770007dda54cF92009BFF0dE90c06F603a09f","latest"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getTransactionCount","params":["0xc94770007dda54cF92009BFF0dE90c06F603a09f","latest"],"id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : "0x1"
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{ account (address:\"0xfe3b557e8fb62b89f4916b721be55ceb828dbd73\"){transactionCount}}"}' http://localhost:8547/graphql
{
  account(address: "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73") {
    transactionCount
  }
}
{
  "data" : {
    "account" : {
      "transactionCount" : 5
    }
  }
}

eth_getBlockTransactionCountByHash

Returns the number of transactions in the block matching the given block hash.

Parameters

data - 32-byte block hash.

Returns

result : quantity - Integer representing the number of transactions in the specified block.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : null
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block(hash:\"0xe455c14f757b0b9b67774baad1be1c180a4c1657df52259dbb685bf375408097\"){transactionCount}}"}' http://localhost:8547/graphql
{
  block(hash: "0xe455c14f757b0b9b67774baad1be1c180a4c1657df52259dbb685bf375408097") {
    transactionCount
  }
}
{
  "data" : {
    "block" : {
      "transactionCount" : 1
    }
  }
}

eth_getBlockTransactionCountByNumber

Returns the number of transactions in a block matching the specified block number.

Parameters

QUANTITY|TAG - Integer representing a block number or one of the string tags latest, earliest, or pending, as described in Block Parameter.

Returns

result : QUANTITY - Integer representing the number of transactions in the specified block.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0xe8"],"id":51}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0xe8"],"id":51}
{
  "jsonrpc" : "2.0",
  "id" : 51,
  "result" : "0x8"
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block(number:232){transactionCount}}"}' http://localhost:8547/graphql
{
  block(number: 232) {
    transactionCount
  }
}
{
  "data" : {
    "block" : {
      "transactionCount" : 1
    }
  }
}

eth_getUncleByBlockHashAndIndex

Returns uncle specified by block hash and index.

Parameters

data - 32-byte block hash.

quantity - Index of the uncle.

Returns

result : Block object

Note

Uncles do not contain individual transactions.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockHashAndIndex","params":["0xc48fb64230a82f65a08e7280bd8745e7fea87bc7c206309dee32209fe9a985f7", "0x0"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getUncleByBlockHashAndIndex","params":["0xc48fb64230a82f65a08e7280bd8745e7fea87bc7c206309dee32209fe9a985f7", "0x0"],"id":1}
{
  "jsonrpc":"2.0",
  "id":1,
  "result":{
    "difficulty":"0x76b123df93230",
    "extraData":"0x50505945206e616e6f706f6f6c2e6f7267",
    "gasLimit":"0x7a121d",
    "gasUsed":"0x7a0175",
    "hash":"0xc20189c0b1a4a23116ab3b177e929137f6e826f17fc4c2e880e7258c620e9817",
    "logsBloom":"0x890086c024487ca422be846a201a10e41bc2882902312116c1119609482031e9c000e2a708004a10281024028020c505727a12570c4810121c59024490b040894406a1c23c37a0094810921da3923600c71c03044b40924280038d07ab91964a008084264a01641380798840805a284cce201a8026045451002500113a00de441001320805ca2840037000111640d090442c11116d2112948084240242340400236ce81502063401dcc214b9105194d050884721c1208800b20501a4201400276004142f118e60808284506979a86e050820101c170c185e2310005205a82a2100382422104182090184800c02489e033440218142140045801c024cc1818485",
    "miner":"0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5",
    "mixHash":"0xf557cc827e058862aa3ea1bd6088fb8766f70c0eac4117c56cf85b7911f82a14",
    "nonce":"0xd320b48904347cdd",
    "number":"0x768964",
    "parentHash":"0x98d752708b3677df8f439c4529f999b94663d5494dbfc08909656db3c90f6255",
    "receiptsRoot":"0x0f838f0ceb73368e7fc8d713a7761e5be31e3b4beafe1a6875a7f275f82da45b",
    "sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "size":"0x21a",
    "stateRoot":"0xa0c7d4fca79810c89c517eff8dadb9c6d6f4bcc27c2edfb301301e1cf7dec642",
    "timestamp":"0x5cdcbba6",
    "totalDifficulty":"0x229ad33cabd4c40d23d",
    "transactionsRoot":"0x866e38e91d01ef0387b8e07ccf35cd910224271ccf2b7477b8c8439e8b70f365",
    "uncles":[]
  }
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block(hash:\"0xc48fb64230a82f65a08e7280bd8745e7fea87bc7c206309dee32209fe9a985f7\"){ ommerAt(index: 0) {difficulty extraData gasLimit gasUsed hash logsBloom mixHash nonce number receiptsRoot stateRoot timestamp totalDifficulty transactionsRoot}}}"}' http://localhost:8547/graphql
{
  block(hash: "0xc48fb64230a82f65a08e7280bd8745e7fea87bc7c206309dee32209fe9a985f7") {
    ommerAt(index: 0) {
      difficulty
      extraData
      gasLimit
      gasUsed
      hash
      logsBloom
      mixHash
      nonce
      number
      receiptsRoot
      stateRoot
      timestamp
      totalDifficulty
      transactionsRoot
    }
  }
}
{
  "data": {
    "block": {
      "difficulty": "0x1",
      "extraData": "0xf882a00000000000000000000000000000000000000000000000000000000000000000d5949811ebc35d7b06b3fa8dc5809a1f9c52751e1deb808400000000f843b8418e98ef756acdae1e510b1df4b507b7af04eb3802db7fa0f3e73e7d0721b3645e76f4eb3d0dbf0de75620c4405bd5a663247cdd9616482c883053856d857f884a01",
      "gasLimit": 4700000,
      "gasUsed": 0,
      "hash": "0x0efe67972b982eb6be5df84e5238eb07475f86afa8a7de708f6a13ac0ff60d6c",
      "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
      "mixHash": "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
      "nonce": "0x0000000000000000",
      "number": 200,
      "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
      "stateRoot": "0xd650578a04b39f50cc979155f4510ec28c2c0a7c1e5fdbf84609bc7b1c430f48",
      "timestamp": "0x5cd109fb",
      "totalDifficulty": "0xc9",
      "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
    }
  }
}

eth_getUncleByBlockNumberAndIndex

Returns uncle specified by block number and index.

Parameters

quantity|tag - Index of the block, or one of the string tags latest, earliest, or pending, as described in Block Parameter.

quantity - Index of the uncle.

Returns

result : Block object

Note

Uncles do not contain individual transactions.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockNumberAndIndex","params":["0x7689D2", "0x0"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getUncleByBlockNumberAndIndex","params":["0x7689D2", "0x0"],"id":1}
{
  "jsonrpc":"2.0",
  "id":1,
  "result":{
    "difficulty":"0x77daec467bf93",
    "extraData":"0x50505945206e616e6f706f6f6c2e6f7267",
    "gasLimit":"0x7a121d",
    "gasUsed":"0x7a0f7b",
    "hash":"0x42d83ae9c0743f4b1f9c61ff7ea8b164c1bab3627decd49233760680be006ecf",
    "logsBloom":"0x888200800000340120220008640200500408006100038400100581c000080240080a0014e8002010080004088040004022402a000c18010001400100002a041141a0610a0052900600041018c0002a0003090020404c00206010010513d00020005380124e08050480710000000108401012b0901c1424006000083a10a8c1040100a0440081050210124400040044304070004001100000012600806008061d0320800000b40042160600002480000000800000c0002100200940801c000820800048024904710000400640490026000a44300309000286088010c2300060003011380006400200812009144042204810209020410a84000410520c08802941",
    "miner":"0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5",
    "mixHash":"0xf977fcdb52868be410b75ef2becc35cc312f13ab0a6ce400ecd9d445f66fa3f2",
    "nonce":"0x628b28403bf1e3d3",
    "number":"0x7689d0",
    "parentHash":"0xb32cfdfbf4adb05d30f02fcc6fe039cc6666402142954051c1a1cb9cc91aa11e",
    "receiptsRoot":"0x9c7c8361d1a24ea2841432234c81974a9920d3eba2b2b1c496b5f925a95cb4ac",
    "sha3Uncles":"0x7d972aa1b182b7e93f1db043f03fbdbfac6874fe7e67e162141bcc0aefa6336b",
    "size":"0x21a",
    "stateRoot":"0x74e97b77813146344d75acb5a52a006cc6dfaca678a10fb8a484a8443e919272",
    "timestamp":"0x5cdcc0a7",
    "totalDifficulty":"0x229b0583b4bd2698ca0",
    "transactionsRoot":"0x1d21626afddf05e5866de66ca3fcd98f1caf5357eba0cc6ec675606e116a891b",
    "uncles":[]
  }
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block(number:2587){ ommerAt(index: 0) {difficulty extraData gasLimit gasUsed hash logsBloom mixHash nonce number receiptsRoot stateRoot timestamp totalDifficulty transactionsRoot}}}"}' http://localhost:8547/graphql
{
  block(number: 2587) {
    ommerAt(index: 0) {
      difficulty
      extraData
      gasLimit
      gasUsed
      hash
      logsBloom
      mixHash
      nonce
      number
      receiptsRoot
      stateRoot
      timestamp
      totalDifficulty
      transactionsRoot
    }
  }
}
{
  "data" : {
    "block" : {
      "ommerAt" : null
    }
  }
}

eth_getUncleCountByBlockHash

Returns the number of uncles in a block from a block matching the given block hash.

Parameters

DATA - 32-byte block hash.

Returns

result : QUANTITY - Integer representing the number of uncles in the specified block.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : 0x0
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block(hash:\"0x65c08d792e4192b9ece6b6f2390da7da464208b22d88490be8add9373917b426\"){ommerCount}}"}' http://localhost:8547/graphql
{
  block(hash: "0x65c08d792e4192b9ece6b6f2390da7da464208b22d88490be8add9373917b426") {
    ommerCount
  }
}
{
  "data" : {
    "block" : {
      "ommerCount" : 2
    }
  }
}

eth_getUncleCountByBlockNumber

Returns the number of uncles in a block matching the specified block number.

Parameters

QUANTITY|TAG - Integer representing either the 0-based index of the block within the blockchain, or one of the string tags latest, earliest, or pending, as described in Block Parameter.

Returns

result : QUANTITY - Integer representing the number of uncles in the specified block.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockNumber","params":["0xe8"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockNumber","params":["0xe8"],"id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : "0x1"
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block(number:\"0x59fd\"){ommerCount}}"}' http://localhost:8547/graphql
{
  block(number: "0x59fd") {
    ommerCount
  }
}
{
  "data" : {
    "block" : {
      "ommerCount" : 0
    }
  }
}

eth_getCode

Returns the code of the smart contract at the specified address. Compiled smart contract code is stored as a hexadecimal value.

Parameters

DATA - 20-byte contract address.

QUANTITY|TAG - Integer representing a block number or one of the string tags latest, earliest, or pending, as described in Block Parameter.

Returns

result : DATA - Code stored at the specified address.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCode","params":["0xa50a51c09a5c451c52bb714527e1974b686d8e77", "latest"],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getCode","params":["0xa50a51c09a5c451c52bb714527e1974b686d8e77", "latest"],"id":53}
{
    "jsonrpc": "2.0",
    "id": 53,
    "result": "0x60806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633fa4f2458114604d57806355241077146071575b600080fd5b348015605857600080fd5b50605f6088565b60408051918252519081900360200190f35b348015607c57600080fd5b506086600435608e565b005b60005481565b60008190556040805182815290517f199cd93e851e4c78c437891155e2112093f8f15394aa89dab09e38d6ca0727879181900360200190a1505600a165627a7a723058209d8929142720a69bde2ab3bfa2da6217674b984899b62753979743c0470a2ea70029"
}
curl -X POST -H "Content-Type: application/json" --data '{"query": "{account(address: \"0xa50a51c09a5c451c52bb714527e1974b686d8e77\"){ code }}"}' http://localhost:8547/graphql
{
  account(address: "0xa50a51c09a5c451c52bb714527e1974b686d8e77") {
    code
  }
}
{
  "data" : {
    "account" : {
      "code" : "0x60806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633fa4f2458114604d57806355241077146071575b600080fd5b348015605857600080fd5b50605f6088565b60408051918252519081900360200190f35b348015607c57600080fd5b506086600435608e565b005b60005481565b60008190556040805182815290517f199cd93e851e4c78c437891155e2112093f8f15394aa89dab09e38d6ca0727879181900360200190a1505600a165627a7a723058209d8929142720a69bde2ab3bfa2da6217674b984899b62753979743c0470a2ea70029"
    }
  }
}

eth_sendRawTransaction

Sends a signed transaction. A transaction can send ether, deploy a contract, or interact with a contract.

You can interact with contracts using eth_sendRawTransaction or eth_call.

To avoid exposing your private key, create signed transactions offline and send the signed transaction data using eth_sendRawTransaction.

Important

Pantheon does not implement eth_sendTransaction.

EthSigner provides transaction signing and implements eth_sendTransaction.

Parameters

data - Signed transaction serialized to hexadecimal format. For example:

params: ["0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"]

Note

Creating and Sending Transactions includes examples of creating signed transactions using the web3.js library.

Returns

result : data - 32-byte transaction hash

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":["0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":["0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"],"id":1}
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "mutation {sendRawTransaction(data: \"0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833\")}"}' http://localhost:8547/graphql
mutation {
  sendRawTransaction(data: "0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833")
}
{
  "data" : {
    "sendRawTransaction" : "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
  }
}

eth_call

Invokes a contract function locally and does not change the state of the blockchain.

You can interact with contracts using eth_sendRawTransaction or eth_call.

Parameters

OBJECT - Transaction call object.

QUANTITY|TAG - Integer representing a block number or one of the string tags latest, earliest, or pending, as described in Block Parameter.

Returns

result - data - Return value of the executed contract.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x69498dd54bd25aa0c886cf1f8b8ae0856d55ff13","value":"0x1"}, "latest"],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x69498dd54bd25aa0c886cf1f8b8ae0856d55ff13","value":"0x1"}, "latest"],"id":53}
{
    "jsonrpc": "2.0",
    "id": 53,
    "result": "0x"
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block {number call (data : {from : \"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b\", to: \"0x69498dd54bd25aa0c886cf1f8b8ae0856d55ff13\", data :\"0x12a7b914\"}){data status}}}"}' http://localhost:8547/graphql
{
  block {
    number
    call(data: {from: "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", to: "0x69498dd54bd25aa0c886cf1f8b8ae0856d55ff13", data: "0x12a7b914"}) {
      data
      status
    }
  }
}
{
  "data" : {
    "block" : {
      "number" : 17449,
      "call" : {
        "data" : "0x",
        "status" : 1
      }
    }
  }
}

eth_estimateGas

Returns an estimate of how much gas is needed for a transaction to complete. The estimation process does not use gas and the transaction is not added to the blockchain. The resulting estimate can be greater than the amount of gas that the transaction actually uses, for various reasons including EVM mechanics and node performance.

The eth_estimateGas call does not send a transaction. You must make a subsequent call to eth_sendRawTransaction to execute the transaction.

Parameters

The transaction call object parameters are the same as those for eth_call, except that in eth_estimateGas, all fields are optional. Setting a gas limit is irrelevant to the estimation process (unlike transactions, in which gas limits apply).

OBJECT - Transaction call object.

Returns

result : quantity - Amount of gas used.

The following example returns an estimate of 21000 wei (0x5208) for the transaction.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{"from":"0xFE3B557E8Fb62b89F4916B721be55cEb828dBd73","to":"0x44Aa93095D6749A706051658B970b941c72c1D53","value":"0x1"}],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{"from":"0xFE3B557E8Fb62b89F4916B721be55cEb828dBd73","to":"0x44Aa93095D6749A706051658B970b941c72c1D53","value":"0x1"}],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : "0x5208"
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block{estimateGas (data: {from :\"0x6295ee1b4f6dd65047762f924ecd367c17eabf8f\", to :\"0x8888f1f195afa192cfee860698584c030f4c9db1\"})}}"}' http://localhost:8547/graphql
{
  block {
    estimateGas(data: {from: "0x6295ee1b4f6dd65047762f924ecd367c17eabf8f", to: "0x8888f1f195afa192cfee860698584c030f4c9db1"})
  }
}
{
  "data" : {
    "block" : {
      "estimateGas" : 21000
    }
  }
}   

The following example request estimates the cost of deploying a simple storage smart contract to the network. The data field contains the hash of the compiled contract to be deployed. (You can obtain the compiled contract hash from your IDE; for example, Remix > Compile tab > details > WEB3DEPLOY.) The result is 113355 wei.

Returns

Example

 curl -X POST \
    http://127.0.0.1:8545 \
    -H 'Content-Type: application/json' \
    -d '{
      "jsonrpc": "2.0",
      "method": "eth_estimateGas",
      "params": [{
        "from": "0x8bad598904ec5d93d07e204a366d084a80c7694e",
        "data": "0x608060405234801561001057600080fd5b5060e38061001f6000396000f3fe6080604052600436106043576000357c0100000000000000000000000000000000000000000000000000000000900480633fa4f24514604857806355241077146070575b600080fd5b348015605357600080fd5b50605a60a7565b6040518082815260200191505060405180910390f35b348015607b57600080fd5b5060a560048036036020811015609057600080fd5b810190808035906020019092919050505060ad565b005b60005481565b806000819055505056fea165627a7a7230582020d7ad478b98b85ca751c924ef66bcebbbd8072b93031073ef35270a4c42f0080029"
      }],
      "id": 1
    }'

Example

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": "0x1bacb"
}

eth_getBlockByHash

Returns information about the block by hash.

Parameters

DATA - 32-byte hash of a block.

Boolean - If true, returns the full transaction objects; if false, returns the transaction hashes.

Returns

result : OBJECT - Block object , or null when no block is found.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByHash","params":["0x16b69965a5949262642cfb5e86368ddbbe57ab9f17d999174a65fd0e66580d8f", false],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getBlockByHash","params":["0x16b69965a5949262642cfb5e86368ddbbe57ab9f17d999174a65fd0e66580d8f", false],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : {
    "number" : "0x7",
    "hash" : "0x16b69965a5949262642cfb5e86368ddbbe57ab9f17d999174a65fd0e66580d8f",
    "parentHash" : "0xe9bd4b277983580ef0eabad6011891f8b6aff9381a78bd1c4faca374a48b3e09",
    "nonce" : "0x46acb59e85b5bb6d",
    "sha3Uncles" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "logsBloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "transactionsRoot" : "0x7aa0913c235f272eb6ed6ab74ba5a057e0a62c1c1d1dbccfd971221e6b6e83a3",
    "stateRoot" : "0xfaf6520d6e3d24107a4309855593341ab87a1744dbb6eea4e709b92e9c9107ca",
    "receiptsRoot" : "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
    "miner" : "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
    "difficulty" : "0x5",
    "totalDifficulty" : "0x10023",
    "extraData" : "0x",
    "size" : "0x270",
    "gasLimit" : "0x1000000",
    "gasUsed" : "0x5208",
    "timestamp" : "0x5bbbe99f",
    "uncles" : [ ],
    "transactions" : [ "0x2cc6c94c21685b7e0f8ddabf277a5ccf98db157c62619cde8baea696a74ed18e" ]
  }
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block (hash : \"0xb0efed1fc9326fee967cb2d845d4ebe57c5350a0670c8e86f8052dea6f219f92\") {number transactions{hash} timestamp difficulty totalDifficulty gasUsed gasLimit hash nonce ommerCount logsBloom mixHash ommerHash extraData stateRoot receiptsRoot transactionCount transactionsRoot}}"}' http://localhost:8547/graphql
{
  block(hash: "0xb0efed1fc9326fee967cb2d845d4ebe57c5350a0670c8e86f8052dea6f219f92") {
    number
    transactions {
      hash
    }
    timestamp
    difficulty
    totalDifficulty
    gasUsed
    gasLimit
    hash
    nonce
    ommerCount
    logsBloom
    mixHash
    ommerHash
    extraData
    stateRoot
    receiptsRoot
    transactionCount
    transactionsRoot
  }
}
{
  "data" : {
    "block" : {
      "number" : 17607,
      "transactions" : [ ],
      "timestamp" : "0x5cdbdfb5",
      "difficulty" : "0x1",
      "totalDifficulty" : "0x44c8",
      "gasUsed" : 0,
      "gasLimit" : 4700000,
      "hash" : "0xb0efed1fc9326fee967cb2d845d4ebe57c5350a0670c8e86f8052dea6f219f92",
      "nonce" : "0x0000000000000000",
      "ommerCount" : 0,
      "logsBloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
      "mixHash" : "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
      "ommerHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
      "extraData" : "0xf882a00000000000000000000000000000000000000000000000000000000000000000d5949811ebc35d7b06b3fa8dc5809a1f9c52751e1deb808400000000f843b841fae6d25da0b91e3e88669d0a765c98479d86d53e9ea1f3fb6b36d7ff22fa622a3da0c49c20e5562c774e90acae8ad487936f6b6019cd8a782db684693cba1e9800",
      "stateRoot" : "0xa7086c266aed46cd3bc45579178f8acb36d9d147de575a3ecbf8c7e6f1c737fc",
      "receiptsRoot" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
      "transactionCount" : 0,
      "transactionsRoot" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
    }
  }
}

eth_getBlockByNumber

Returns information about a block by block number.

Parameters

QUANTITY|TAG - Integer representing a block number or one of the string tags latest, earliest, or pending, as described in Block Parameter.

Boolean - If true, returns the full transaction objects; if false, returns only the hashes of the transactions.

Returns

result : OBJECT - Block object , or null when no block is found.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x64", true],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x64", true],"id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : {
    "number" : "0x64",
    "hash" : "0xdfe2e70d6c116a541101cecbb256d7402d62125f6ddc9b607d49edc989825c64",
    "parentHash" : "0xdb10afd3efa45327eb284c83cc925bd9bd7966aea53067c1eebe0724d124ec1e",
    "nonce" : "0x37129c7f29a9364b",
    "sha3Uncles" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "logsBloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "transactionsRoot" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "stateRoot" : "0x90c25f6d7fddeb31a6cc5668a6bba77adbadec705eb7aa5a51265c2d1e3bb7ac",
    "receiptsRoot" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "miner" : "0xbb7b8287f3f0a933474a79eae42cbca977791171",
    "difficulty" : "0x42be722b6",
    "totalDifficulty" : "0x19b5afdc486",
    "extraData" : "0x476574682f4c5649562f76312e302e302f6c696e75782f676f312e342e32",
    "size" : "0x21e",
    "gasLimit" : "0x1388",
    "gasUsed" : "0x0",
    "timestamp" : "0x55ba43eb",
    "uncles" : [ ],
    "transactions" : [ ]
  }
}
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{block (number : 100) {transactions{hash} timestamp difficulty totalDifficulty gasUsed gasLimit hash nonce ommerCount logsBloom mixHash ommerHash extraData stateRoot receiptsRoot transactionCount transactionsRoot ommers{hash} ommerAt(index : 1){hash} miner{address} account(address: \"0xfe3b557e8fb62b89f4916b721be55ceb828dbd73\"){balance} parent{hash} }}"}' http://localhost:8547/graphql
{
  block(number: 100) {
    transactions {
      hash
    }
    timestamp
    difficulty
    totalDifficulty
    gasUsed
    gasLimit
    hash
    nonce
    ommerCount
    logsBloom
    mixHash
    ommerHash
    extraData
    stateRoot
    receiptsRoot
    transactionCount
    transactionsRoot
    ommers {
      hash
    }
    ommerAt(index: 1) {
      hash
    }
    miner {
      address
    }
    account(address: "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73") {
      balance
    }
    parent {
      hash
    }
  }
}
{
  "data" : {
    "block" : {
      "transactions" : [ ],
      "timestamp" : "0x5cd10933",
      "difficulty" : "0x1",
      "totalDifficulty" : "0x65",
      "gasUsed" : 0,
      "gasLimit" : 4700000,
      "hash" : "0x63b3ea2bc37fec8f82680eb823652da6af8acebb4f6c4d0ff659c55be473c8b0",
      "nonce" : "0x0000000000000000",
      "ommerCount" : 0,
      "logsBloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
      "mixHash" : "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
      "ommerHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
      "extraData" : "0xf882a00000000000000000000000000000000000000000000000000000000000000000d5949811ebc35d7b06b3fa8dc5809a1f9c52751e1deb808400000000f843b8414d877d8d0ced37ea138fab55a978f3740367a24a31731322ecdc3368f11e0d4966c9ce17ae59a76fb94eb436e8a386868f6bd6b0a5678e58daf49f5dd940558b00",
      "stateRoot" : "0xd650578a04b39f50cc979155f4510ec28c2c0a7c1e5fdbf84609bc7b1c430f48",
      "receiptsRoot" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
      "transactionCount" : 0,
      "transactionsRoot" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
      "ommers" : [ ],
      "ommerAt" : null,
      "miner" : {
        "address" : "0x9811ebc35d7b06b3fa8dc5809a1f9c52751e1deb"
      },
      "account" : {
        "balance" : "0xad0f47f269cbf31ac"
      },
      "parent" : {
        "hash" : "0x7bca25e1fa5e395fd6029eb496a70b6b5495843976bf9e49b993c723ded29d9e"
      }
    }
  }
}

eth_getTransactionByHash

Returns transaction information for the specified transaction hash.

Parameters

DATA - 32-byte transaction hash.

Returns

Object - Transaction object, or null when no transaction is found.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByHash","params":["0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44"],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getTransactionByHash","params":["0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44"],"id":53}
{
  "jsonrpc" : "2.0",
  "id" : 53,
  "result" : {
    "blockHash" : "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda",
    "blockNumber" : "0x422",
    "from" : "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
    "gas" : "0x5208",
    "gasPrice" : "0x3b9aca00",
    "hash" : "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44",
    "input" : "0x",
    "nonce" : "0x1",
    "to" : "0x627306090abab3a6e1400e9345bc60c78a8bef57",
    "transactionIndex" : "0x0",
    "value" : "0x4e1003b28d9280000",
    "v" : "0xfe7",
    "r" : "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3",
    "s" : "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9"
  }
}
curl -X POST -H "Content-Type: application/json" --data '{"query": "{transaction(hash : \"0x03d80b9ca0a71435399a268609d6d7896f7155d2147cc22b780672bcb59b170d\") { block{hash} gas gasPrice hash nonce value from {address} to {address} status}}"}' http://localhost:8547/graphql
{
  transaction(hash: "0x03d80b9ca0a71435399a268609d6d7896f7155d2147cc22b780672bcb59b170d") {
    block {
      hash
    }
    gas
    gasPrice
    hash
    nonce
    value
    from {
      address
    }
    to {
      address
    }
    status
  }
}
{
  "data" : {
    "transaction" : {
      "block" : {
        "hash" : "0xb1ef35744bade6980c3a933024b2557a8c724a19e5fdd2116bac712aa5e57198"
      },
      "gas" : 21000,
      "gasPrice" : "0x2540be400",
      "hash" : "0x03d80b9ca0a71435399a268609d6d7896f7155d2147cc22b780672bcb59b170d",
      "nonce" : 6,
      "value" : "0x8ac7230489e80000",
      "from" : {
        "address" : "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
      },
      "to" : {
        "address" : "0x9d8f8572f345e1ae53db1dfa4a7fce49b467bd7f"
      },
      "status" : 1
    }
  }
}

eth_getTransactionByBlockHashAndIndex

Returns transaction information for the specified block hash and transaction index position.

Parameters

DATA - 32-byte hash of a block.

QUANTITY - Integer representing the transaction index position.

Returns

Object - Transaction object, or null when no transaction is found.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0xbf137c3a7a1ebdfac21252765e5d7f40d115c2757e4a4abee929be88c624fdb7", "0x2"], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0xbf137c3a7a1ebdfac21252765e5d7f40d115c2757e4a4abee929be88c624fdb7", "0x2"], "id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : {
    "blockHash" : "0xbf137c3a7a1ebdfac21252765e5d7f40d115c2757e4a4abee929be88c624fdb7",
    "blockNumber" : "0x1442e",
    "from" : "0x70c9217d814985faef62b124420f8dfbddd96433",
    "gas" : "0x3d090",
    "gasPrice" : "0x57148a6be",
    "hash" : "0xfc766a71c406950d4a4955a340a092626c35083c64c7be907060368a5e6811d6",
    "input" : "0x51a34eb8000000000000000000000000000000000000000000000029b9e659e41b780000",
    "nonce" : "0x2cb2",
    "to" : "0xcfdc98ec7f01dab1b67b36373524ce0208dc3953",
    "transactionIndex" : "0x2",
    "value" : "0x0",
    "v" : "0x2a",
    "r" : "0xa2d2b1021e1428740a7c67af3c05fe3160481889b25b921108ac0ac2c3d5d40a",
    "s" : "0x63186d2aaefe188748bfb4b46fb9493cbc2b53cf36169e8501a5bc0ed941b484"
  }
 }
curl -X POST -H "Content-Type: application/json" --data '{"query": "{ block(hash: \"0x9270651f9c6fa36232c379d0ecf69b519383aa275815a65f1e03114346668f69\") { transactionAt(index: 0) {block{hash}  hash } } }"}' http://localhost:8547/graphql
{
  block(hash: "0x9270651f9c6fa36232c379d0ecf69b519383aa275815a65f1e03114346668f69") {
    transactionAt(index: 0) {
      block {
        hash
      }
      hash
    }
  }
}
{
  "data" : {
    "block" : {
      "transactionAt" : {
        "block" : {
          "hash" : "0x9270651f9c6fa36232c379d0ecf69b519383aa275815a65f1e03114346668f69"
        },
        "hash" : "0x5f5366af89e8777d5ae62a1af94a0876bdccbc22417bed0aff361eefa3e37f86"
      }
    }
  }
}

eth_getTransactionByBlockNumberAndIndex

Returns transaction information for the specified block number and transaction index position.

Parameters

QUANTITY|TAG - Integer representing a block number or one of the string tags latest, earliest, or pending, as described in Block Parameter.

QUANTITY - The transaction index position.

Returns

Object - Transaction object, or null when no transaction is found.

Example

This request returns the third transaction in the 82990 block on the Ropsten testnet. You can also view this block and transaction on Etherscan.

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockNumberAndIndex","params":["82990", "0x2"], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getTransactionByBlockNumberAndIndex","params":["82990", "0x2"], "id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : {
    "blockHash" : "0xbf137c3a7a1ebdfac21252765e5d7f40d115c2757e4a4abee929be88c624fdb7",
    "blockNumber" : "0x1442e",
    "from" : "0x70c9217d814985faef62b124420f8dfbddd96433",
    "gas" : "0x3d090",
    "gasPrice" : "0x57148a6be",
    "hash" : "0xfc766a71c406950d4a4955a340a092626c35083c64c7be907060368a5e6811d6",
    "input" : "0x51a34eb8000000000000000000000000000000000000000000000029b9e659e41b780000",
    "nonce" : "0x2cb2",
    "to" : "0xcfdc98ec7f01dab1b67b36373524ce0208dc3953",
    "transactionIndex" : "0x2",
    "value" : "0x0",
    "v" : "0x2a",
    "r" : "0xa2d2b1021e1428740a7c67af3c05fe3160481889b25b921108ac0ac2c3d5d40a",
    "s" : "0x63186d2aaefe188748bfb4b46fb9493cbc2b53cf36169e8501a5bc0ed941b484"
  }
}
curl -X POST -H "Content-Type: application/json" --data '{"query": "{block(number:20303) {transactionAt(index: 0) {block{hash} hash}}}"}' http://localhost:8547/graphql
{
  block(number: 20303) {
    transactionAt(index: 0) {
      block {
        hash
      }
      hash
    }
  }
}
{
  "data" : {
    "block" : {
      "transactionAt" : {
      "block" : {
        "hash" : "0x9270651f9c6fa36232c379d0ecf69b519383aa275815a65f1e03114346668f69"
      },
      "hash" : "0x5f5366af89e8777d5ae62a1af94a0876bdccbc22417bed0aff361eefa3e37f86"
      }
    }
  }
}

eth_getTransactionReceipt

Returns the receipt of a transaction by transaction hash. Receipts for pending transactions are not available.

Parameters

DATA - 32-byte hash of a transaction.

Returns

Object - Transaction receipt object, or null when no receipt is found.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0x504ce587a65bdbdb6414a0c6c16d86a04dd79bfcc4f2950eec9634b30ce5370f"],"id":53}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0x504ce587a65bdbdb6414a0c6c16d86a04dd79bfcc4f2950eec9634b30ce5370f"],"id":53}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "blockHash": "0xe7212a92cfb9b06addc80dec2a0dfae9ea94fd344efeb157c41e12994fcad60a",
        "blockNumber": "0x50",
        "contractAddress": null,
        "cumulativeGasUsed": "0x5208",
        "from": "0x627306090abab3a6e1400e9345bc60c78a8bef57",
        "gasUsed": "0x5208",
        "logs": [],
        "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
        "status": "0x1",
        "to": "0xf17f52151ebef6c7334fad080c5704d77216b732",
        "transactionHash": "0xc00e97af59c6f88de163306935f7682af1a34c67245e414537d02e422815efc3",
        "transactionIndex": "0x0"
    }
}
curl -X POST -H "Content-Type: application/json" --data '{"query": "{transaction(hash: \"0x5f5366af89e8777d5ae62a1af94a0876bdccbc22417bed0aff361eefa3e37f86\") {block{hash logsBloom} hash createdContract{address} cumulativeGasUsed gas gasUsed logs{topics} from{address} to{address} index}}"}' http://localhost:8547/graphql
{
  transaction(hash: "0x5f5366af89e8777d5ae62a1af94a0876bdccbc22417bed0aff361eefa3e37f86") {
    block {
      hash
      logsBloom
    }
    hash
    createdContract {
      address
    }
    cumulativeGasUsed
    gas
    gasUsed
    logs {
      topics
    }
    from {
      address
    }
    to {
      address
    }
    index
  }
}
{
  "data" : {
    "transaction" : {
      "block" : {
        "hash" : "0x9270651f9c6fa36232c379d0ecf69b519383aa275815a65f1e03114346668f69",
        "logsBloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
      },
      "hash" : "0x5f5366af89e8777d5ae62a1af94a0876bdccbc22417bed0aff361eefa3e37f86",
      "createdContract" : null,
      "cumulativeGasUsed" : 21000,
      "gas" : 21000,
      "gasUsed" : 21000,
      "logs" : [ ],
      "from" : {
        "address" : "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
      },
      "to" : {
        "address" : "0x9d8f8572f345e1ae53db1dfa4a7fce49b467bd7f"
      },
      "index" : 0
    }
  }
}

eth_newFilter

Creates a log filter. To poll for logs associated with the created filter, use eth_getFilterChanges.

Parameters

Object - Filter options object.

Note

fromBlock and toBlock in the filter options object default to latest. To obtain logs using eth_getFilterLogs, set fromBlock and toBlock appropriately.

Returns

data - Filter ID hash

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"fromBlock":"earliest", "toBlock":"latest", "topics":[]}],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"fromBlock":"earliest", "toBlock":"latest", "topics":[]}],"id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": "0x1ddf0c00989044e9b41cc0ae40272df3"
}

eth_newBlockFilter

Creates a filter to retrieve new block hashes. To poll for new blocks, use eth_getFilterChanges.

Parameters

None

Returns

data - Filter ID hash

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newBlockFilter","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_newBlockFilter","params":[],"id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": "0x9d78b6780f844228b96ecc65a320a825"
}

eth_newPendingTransactionFilter

Creates a filter to retrieve new pending transactions hashes. To poll for new pending transactions, use eth_getFilterChanges.

Parameters

None

Returns

data - Filter ID hash

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newPendingTransactionFilter","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_newPendingTransactionFilter","params":[],"id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": "0x443d6a77c4964707a8554c92f7e4debd"
}

eth_uninstallFilter

Uninstalls a filter with the specified ID. When a filter is no longer required, call this method.

Filters time out when not requested by eth_getFilterChanges for 10 minutes.

Parameters

data - Filter ID hash

Returns

Boolean - true if the filter was successfully uninstalled; otherwise false.

Example

The following request deletes the block filter with an ID of 0x4:

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_uninstallFilter","params":["0x70355a0b574b437eaa19fe95adfedc0a"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_uninstallFilter","params":["0x70355a0b574b437eaa19fe95adfedc0a"],"id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : true
}

eth_getFilterChanges

Polls the specified filter and returns an array of changes that have occurred since the last poll.

Parameters

data - Filter ID hash

Returns

result : Array of Object - If nothing changed since the last poll, an empty list. Otherwise:

  • For filters created with eth_newBlockFilter, returns block hashes.
  • For filters created with eth_newPendingTransactionFilter, returns transaction hashes.
  • For filters created with eth_newFilter, returns log objects.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterChanges","params":["0xf8bf5598d9e04fbe84523d42640b9b0e"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getFilterChanges","params":["0xf8bf5598d9e04fbe84523d42640b9b0e"],"id":1}
Example result from a filter created with `eth_newBlockFilter`:
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        "0xda2bfe44bf85394f0d6aa702b5af89ae50ae22c0928c18b8903d9269abe17e0b",
        "0x88cd3a37306db1306f01f7a0e5b25a9df52719ad2f87b0f88ee0e6753ed4a812",
        "0x4d4c731fe129ff32b425e6060d433d3fde278b565bbd1fd624d5a804a34f8786"
    ]
}

Example result from a filter created with `eth_newPendingTransactionFilter`:
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        "0x1e977049b6db09362da09491bee3949d9362080ce3f4fc19721196d508580d46",
        "0xa3abc4b9a4e497fd58dc59cdff52e9bb5609136bcd499e760798aa92802769be"
    ]
}

Example result from a filter created with `eth_newFilter`:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        {
            "logIndex": "0x0",
            "removed": false,
            "blockNumber": "0x233",
            "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5",
            "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d",
            "transactionIndex": "0x0",
            "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
            "data": "0x0000000000000000000000000000000000000000000000000000000000000004",
            "topics": [
                "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
            ]
        },
        {
            "logIndex": "0x0",
            "removed": false,
            "blockNumber": "0x238",
            "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed",
            "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058",
            "transactionIndex": "0x0",
            "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
            "data": "0x0000000000000000000000000000000000000000000000000000000000000007",
            "topics": [
                "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
            ]
        }
    ]
}

eth_getFilterLogs

Returns an array of logs for the specified filter.

Note

eth_getFilterLogs is only used for filters created with eth_newFilter.

You can use eth_getLogs to specify a filter object and get logs without creating a filter.

Parameters

data - Filter ID hash

Returns

array - Log objects

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterLogs","params":["0x5ace5de3985749b6a1b2b0d3f3e1fb69"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getFilterLogs","params":["0x5ace5de3985749b6a1b2b0d3f3e1fb69"],"id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : [ {
    "logIndex" : "0x0",
    "removed" : false,
    "blockNumber" : "0xb3",
    "blockHash" : "0xe7cd776bfee2fad031d9cc1c463ef947654a031750b56fed3d5732bee9c61998",
    "transactionHash" : "0xff36c03c0fba8ac4204e4b975a6632c862a3f08aa01b004f570cc59679ed4689",
    "transactionIndex" : "0x0",
    "address" : "0x2e1f232a9439c3d459fceca0beef13acc8259dd8",
    "data" : "0x0000000000000000000000000000000000000000000000000000000000000003",
    "topics" : [ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" ]
  }, {
    "logIndex" : "0x0",
    "removed" : false,
    "blockNumber" : "0xb6",
    "blockHash" : "0x3f4cf35e7ed2667b0ef458cf9e0acd00269a4bc394bb78ee07733d7d7dc87afc",
    "transactionHash" : "0x117a31d0dbcd3e2b9180c40aca476586a648bc400aa2f6039afdd0feab474399",
    "transactionIndex" : "0x0",
    "address" : "0x2e1f232a9439c3d459fceca0beef13acc8259dd8",
    "data" : "0x0000000000000000000000000000000000000000000000000000000000000005",
    "topics" : [ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" ]
  } ]
}

eth_getLogs

Returns an array of logs matching a specified filter object.

Parameters

Object - Filter options object

Returns

array - Log objects

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"fromBlock":"earliest", "toBlock":"latest", "address": "0x2e1f232a9439c3d459fceca0beef13acc8259dd8", "topics":[]}], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"fromBlock":"earliest", "toBlock":"latest", "address": "0x2e1f232a9439c3d459fceca0beef13acc8259dd8", "topics":[]}], "id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : [ {
    "logIndex" : "0x0",
    "removed" : false,
    "blockNumber" : "0xb3",
    "blockHash" : "0xe7cd776bfee2fad031d9cc1c463ef947654a031750b56fed3d5732bee9c61998",
    "transactionHash" : "0xff36c03c0fba8ac4204e4b975a6632c862a3f08aa01b004f570cc59679ed4689",
    "transactionIndex" : "0x0",
    "address" : "0x2e1f232a9439c3d459fceca0beef13acc8259dd8",
    "data" : "0x0000000000000000000000000000000000000000000000000000000000000003",
    "topics" : [ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" ]
  }, {
    "logIndex" : "0x0",
    "removed" : false,
    "blockNumber" : "0xb6",
    "blockHash" : "0x3f4cf35e7ed2667b0ef458cf9e0acd00269a4bc394bb78ee07733d7d7dc87afc",
    "transactionHash" : "0x117a31d0dbcd3e2b9180c40aca476586a648bc400aa2f6039afdd0feab474399",
    "transactionIndex" : "0x0",
    "address" : "0x2e1f232a9439c3d459fceca0beef13acc8259dd8",
    "data" : "0x0000000000000000000000000000000000000000000000000000000000000005",
    "topics" : [ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" ]
  } ]
}
curl -X POST -H "Content-Type: application/json" --data '{"query": "{block(number:23037) {logs(filter:{topics:[[\"0xd3610b1c54575b7f4f0dc03d210b8ac55624ae007679b7a928a4f25a709331a8\", \"0x0000000000000000000000000000000000000000000000000000000000000002\"]]}) {index topics data account{address} transaction{hash} }}}"}' http://localhost:8547/graphql
{
  block(number: 23037) {
    logs(filter: {topics: [["0xd3610b1c54575b7f4f0dc03d210b8ac55624ae007679b7a928a4f25a709331a8", "0x0000000000000000000000000000000000000000000000000000000000000002"]]}) {
      index
      topics
      data
      account {
        address
      }
      transaction {
        hash
      }
    }
  }
}
{
  "data" : {
    "block" : {
      "logs" : [ {
        "index" : 0,
        "topics" : [ "0xd3610b1c54575b7f4f0dc03d210b8ac55624ae007679b7a928a4f25a709331a8", "0x0000000000000000000000000000000000000000000000000000000000000002" ],
        "data" : "0x0000000000000000000000000000000000000000000000000000000000000003",
        "account" : {
          "address" : "0x686afd6e502a81d2e77f2e038a23c0def4949a20"
        },
        "transaction" : {
          "hash" : "0x29b541c12ad308960d4e7e0da00e0281a18428b3417f0f9b4ad8f68c4f5adc3c"
        }
      } ]
    }
  }
}

eth_getWork

Returns the hash of the current block, the seed hash, and the target boundary condition to be met.

Parameters

None

Returns

result : Array of DATA with the following fields:

  • DATA, 32 Bytes - Hash of the current block header (pow-hash).
  • DATA, 32 Bytes - The seed hash used for the DAG.
  • DATA, 32 Bytes - The target boundary condition to be met; 2^256 / difficulty.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getWork","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eth_getWork","params":[],"id":1}
{
  "id":1,
  "jsonrpc":"2.0",
  "result": [
      "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
      "0x5EED00000000000000000000000000005EED0000000000000000000000000000",
      "0xd1ff1c01710000000000000000000000d1ff1c01710000000000000000000000"
    ]
}

Clique Methods

Note

The CLIQUE API methods are not enabled by default for JSON-RPC. Use the --rpc-http-api or --rpc-ws-api options to enable the CLIQUE API methods.

clique_discard

Discards a proposal to add or remove a signer with the specified address.

Parameters

data - 20-byte address of proposed signer.

Returns

result: boolean - true

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"clique_discard","params":["0xFE3B557E8Fb62b89F4916B721be55cEb828dBd73"], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"clique_discard","params":["0xFE3B557E8Fb62b89F4916B721be55cEb828dBd73"], "id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : true
}

clique_getSigners

Lists signers for the specified block.

Parameters

quantity|tag - Integer representing a block number or one of the string tags latest, earliest, or pending, as described in Block Parameter.

Returns

result: array of data - List of 20-byte addresses of signers.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"clique_getSigners","params":["latest"], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"clique_getSigners","params":["latest"], "id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : [ "0x42eb768f2244c8811c63729a21a3569731535f06", "0x7ffc57839b00206d1ad20c69a1981b489f772031", "0xb279182d99e65703f0076e4812653aab85fca0f0" ]
}

clique_getSignersAtHash

Lists signers for the specified block.

Parameters

data - 32-byte block hash.

Returns

result: array of data - List of 20-byte addresses of signers.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"clique_getSignersAtHash","params":["0x98b2ddb5106b03649d2d337d42154702796438b3c74fd25a5782940e84237a48"], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"clique_getSignersAtHash","params":["0x98b2ddb5106b03649d2d337d42154702796438b3c74fd25a5782940e84237a48"], "id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : [ "0x42eb768f2244c8811c63729a21a3569731535f06", "0x7ffc57839b00206d1ad20c69a1981b489f772031", "0xb279182d99e65703f0076e4812653aab85fca0f0" ]
}

clique_propose

Proposes adding or removing a signer with the specified address.

Parameters

data - 20-byte address.

boolean - true to propose adding signer or false to propose removing signer.

Returns

result: boolean - true

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"clique_propose","params":["0xFE3B557E8Fb62b89F4916B721be55cEb828dBd73", true], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"clique_propose","params":["0xFE3B557E8Fb62b89F4916B721be55cEb828dBd73", true], "id":1}
{
 "jsonrpc" : "2.0",
 "id" : 1,
 "result" : true
}

clique_proposals

Returns current proposals.

Parameters

None

Returns

result:object - Map of account addresses to corresponding boolean values indicating the proposal for each account.

If the boolean value is true, the proposal is to add a signer. If false, the proposal is to remove a signer.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"clique_proposals","params":[], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"clique_proposals","params":[], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "0x42eb768f2244c8811c63729a21a3569731535f07": false,
        "0x12eb759f2222d7711c63729a45c3585731521d01": true
    }
}

Debug Methods

Note

The DEBUG API methods are not enabled by default for JSON-RPC. Use the --rpc-http-api or --rpc-ws-api options to enable the DEBUG API methods.

debug_storageRangeAt

Remix uses debug_storageRangeAt to implement debugging. Use the Debugger tab in Remix rather than calling debug_storageRangeAt directly.

Returns the contract storage for the specified range.

Parameters

blockHash : data - Block hash

txIndex : integer - Transaction index from which to start

address : data - Contract address

startKey : hash - Start key

limit : integer - Number of storage entries to return

Returns

result:object - Range object

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"debug_storageRangeAt","params":["0x2b76b3a2fc44c0e21ea183d06c846353279a7acf12abcc6fb9d5e8fb14ae2f8c",0,"0x0e0d2c8f7794e82164f11798276a188147fbd415","0x0000000000000000000000000000000000000000000000000000000000000000",1], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"debug_storageRangeAt","params":["0x2b76b3a2fc44c0e21ea183d06c846353279a7acf12abcc6fb9d5e8fb14ae2f8c",0,"0x0e0d2c8f7794e82164f11798276a188147fbd415","0x0000000000000000000000000000000000000000000000000000000000000000",1], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "storage": {
            "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563": {
                "key": null,
                "value": "0x0000000000000000000000000000000000000000000000000000000000000001"
            }
        },
        "nextKey": "0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6"
    }
}

debug_metrics

Returns metrics providing information on the internal operation of Pantheon.

The available metrics may change over time. The JVM metrics may vary based on the JVM implementation being used.

The metric types are:

  • Timer
  • Counter
  • Gauge

Parameters

None

Returns

result:object

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"debug_metrics","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"debug_metrics","params":[],"id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "jvm": {
            "memory_bytes_init": {
                "heap": 268435456,
                "nonheap": 2555904
            },
            "threads_current": 41,
            "memory_bytes_used": {
                "heap": 696923976,
                "nonheap": 63633456
            },
            "memory_pool_bytes_used": {
                "PS Eden Space": 669119360,
                "Code Cache": 19689024,
                "Compressed Class Space": 4871144,
                "PS Survivor Space": 2716320,
                "PS Old Gen": 25088296,
                "Metaspace": 39073288
            },
            ...
        },
        "process": {
            "open_fds": 546,
            "cpu_seconds_total": 67.148992,
            "start_time_seconds": 1543897699.589,
            "max_fds": 10240
        },
        "rpc": {
            "request_time": {
                "debug_metrics": {
                    "bucket": {
                        "+Inf": 2,
                        "0.01": 1,
                        "0.075": 2,
                        "0.75": 2,
                        "0.005": 1,
                        "0.025": 2,
                        "0.1": 2,
                        "1.0": 2,
                        "0.05": 2,
                        "10.0": 2,
                        "0.25": 2,
                        "0.5": 2,
                        "5.0": 2,
                        "2.5": 2,
                        "7.5": 2
                    },
                    "count": 2,
                    "sum": 0.015925392
                }
            }
        },
        "blockchain": {
            "difficulty_total": 3533501,
            "announcedBlock_ingest": {
                "bucket": {
                    "+Inf": 0,
                    "0.01": 0,
                    "0.075": 0,
                    "0.75": 0,
                    "0.005": 0,
                    "0.025": 0,
                    "0.1": 0,
                    "1.0": 0,
                    "0.05": 0,
                    "10.0": 0,
                    "0.25": 0,
                    "0.5": 0,
                    "5.0": 0,
                    "2.5": 0,
                    "7.5": 0
                },
                "count": 0,
                "sum": 0
            },
            "height": 1908793
        },
        "peers": {
            "disconnected_total": {
                "remote": {
                    "SUBPROTOCOL_TRIGGERED": 5
                },
                "local": {
                    "TCP_SUBSYSTEM_ERROR": 1,
                    "SUBPROTOCOL_TRIGGERED": 2,
                    "USELESS_PEER": 3
                }
            },
            "peer_count_current": 2,
            "connected_total": 10
        }
    }
}

debug_traceTransaction

Remix uses debug_traceTransaction to implement debugging. Use the Debugger tab in Remix rather than calling debug_traceTransaction directly.

Reruns the transaction with the same state as when the transaction was executed.

Parameters

transactionHash : data - Transaction hash.

Object - request options (all optional and default to false): * disableStorage : boolean - true disables storage capture. * disableMemory : boolean - true disables memory capture. * disableStack : boolean - true disables stack capture.

Returns

result:object - Trace object.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"debug_traceTransaction","params":["0x2cc6c94c21685b7e0f8ddabf277a5ccf98db157c62619cde8baea696a74ed18e",{"disableStorage":true}],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"debug_traceTransaction","params":["0x2cc6c94c21685b7e0f8ddabf277a5ccf98db157c62619cde8baea696a74ed18e",{"disableStorage":true}],"id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : {
    "gas" : 21000,
    "failed" : false,
    "returnValue" : "",
    "structLogs" : [ {
      "pc" : 0,
      "op" : "STOP",
      "gas" : 0,
      "gasCost" : 0,
      "depth" : 1,
      "stack" : [ ],
      "memory" : [ ],
      "storage" : null
    } ]
  }
}

debug_traceBlock

Returns full trace of all invoked opcodes of all transactions included in the block.

Parameters

Block : data - RLP of the block

Object - request options (all optional and default to false):

  • disableStorage : boolean - true disables storage capture.
  • disableMemory : boolean - true disables memory capture.
  • disableStack : boolean - true disables stack capture.

Returns

result:object - Trace object.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"debug_traceBlock","params":["0xf90277f90208a05a41d0e66b4120775176c09fcf39e7c0520517a13d2b57b18d33d342df038bfca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794e6a7a1d47ff21b6321162aea7c6cb457d5476bcaa00e0df2706b0a4fb8bd08c9246d472abbe850af446405d9eba1db41db18b4a169a04513310fcb9f6f616972a3b948dc5d547f280849a87ebb5af0191f98b87be598a0fe2bf2a941abf41d72637e5b91750332a30283efd40c424dc522b77e6f0ed8c4b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000860153886c1bbd82b44382520b8252088455c426598b657468706f6f6c2e6f7267a0b48c515a9dde8d346c3337ea520aa995a4738bb595495506125449c1149d6cf488ba4f8ecd18aab215f869f86780862d79883d2000825208945df9b87991262f6ba471f09758cde1c0fc1de734827a69801ca088ff6cf0fefd94db46111149ae4bfc179e9b94721fffd821d38d16464b3f71d0a045e0aff800961cfce805daef7016b9b675c137a6a41a548f7b60a3484c06a33ac0"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"debug_traceBlock","params":["0xf90277f90208a05a41d0e66b4120775176c09fcf39e7c0520517a13d2b57b18d33d342df038bfca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794e6a7a1d47ff21b6321162aea7c6cb457d5476bcaa00e0df2706b0a4fb8bd08c9246d472abbe850af446405d9eba1db41db18b4a169a04513310fcb9f6f616972a3b948dc5d547f280849a87ebb5af0191f98b87be598a0fe2bf2a941abf41d72637e5b91750332a30283efd40c424dc522b77e6f0ed8c4b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000860153886c1bbd82b44382520b8252088455c426598b657468706f6f6c2e6f7267a0b48c515a9dde8d346c3337ea520aa995a4738bb595495506125449c1149d6cf488ba4f8ecd18aab215f869f86780862d79883d2000825208945df9b87991262f6ba471f09758cde1c0fc1de734827a69801ca088ff6cf0fefd94db46111149ae4bfc179e9b94721fffd821d38d16464b3f71d0a045e0aff800961cfce805daef7016b9b675c137a6a41a548f7b60a3484c06a33ac0"],"id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : {
    "gas" : 21000,
    "failed" : false,
    "returnValue" : "",
    "structLogs" : [ {
      "pc" : 0,
      "op" : "STOP",
      "gas" : 0,
      "gasCost" : 0,
      "depth" : 1,
      "stack" : [ ],
      "memory" : [ ],
      "storage" : null
    } ]
  }
}

debug_traceBlockByHash

Returns full trace of all invoked opcodes of all transactions included in the block.

Parameters

block hash : data - Block hash

Object - request options (all optional and default to false):

  • disableStorage : boolean - true disables storage capture.
  • disableMemory : boolean - true disables memory capture.
  • disableStack : boolean - true disables stack capture.

Returns

result:array of objects - Trace objects.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"debug_traceBlockByHash","params":["0xaceb3b2c9b25b0589230873921eb894b28722011b8df63977145517d754875a5"], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"debug_traceBlockByHash","params":["0xaceb3b2c9b25b0589230873921eb894b28722011b8df63977145517d754875a5"], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        {
            "gas": 21000,
            "failed": false,
            "returnValue": "",
            "structLogs": [
                {
                    "pc": 0,
                    "op": "STOP",
                    "gas": 0,
                    "gasCost": 0,
                    "depth": 1,
                    "stack": [],
                    "memory": [],
                    "storage": {},
                    "reason": null
                }
            ]
        }
    ]
}

debug_traceBlockByNumber

Returns full trace of all invoked opcodes of all transactions included in the block.

Parameters

quantity|tag - Integer representing a block number or one of the string tags latest, earliest, or pending, as described in Block Parameter.

Object - request options (all optional and default to false):

  • disableStorage : boolean - true disables storage capture.
  • disableMemory : boolean - true disables memory capture.
  • disableStack : boolean - true disables stack capture.

Returns

result:array of objects - Trace objects.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"debug_traceBlockByNumber","params":["0x7224",{"disableStorage":true}], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"debug_traceBlockByNumber","params":["0x7224",{"disableStorage":true}], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        {
            "gas": 21000,
            "failed": false,
            "returnValue": "",
            "structLogs": [
                {
                    "pc": 0,
                    "op": "STOP",
                    "gas": 0,
                    "gasCost": 0,
                    "depth": 1,
                    "stack": [],
                    "memory": [],
                    "storage": null,
                    "reason": null
                }
            ]
        }
    ]
}

Miner Methods

Note

The MINER API methods are not enabled by default for JSON-RPC. Use the --rpc-http-api or --rpc-ws-api options to enable the MINER API methods.

miner_start

Starts the CPU mining process. To start mining, a miner coinbase must have been previously specified using the --miner-coinbase command line option.

Parameters

None

Returns

result : boolean - true if the mining start request was received successfully; otherwise returns an error.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"miner_start","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"miner_start","params":[],"id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": true
}

miner_stop

Stops the CPU mining process on the client.

Parameters

None

Returns

result : boolean - true if the mining stop request was received successfully; otherwise returns an error.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"miner_stop","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"miner_stop","params":[],"id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": true
}

IBFT 2.0 Methods

Note

The IBFT API methods are not enabled by default for JSON-RPC. Use the --rpc-http-api or --rpc-ws-api options to enable the IBFT API methods.

ibft_discardValidatorVote

Discards a proposal to add or remove a validator with the specified address.

Parameters

data - 20-byte address of proposed validator

Returns

result: boolean - true

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"ibft_discardValidatorVote","params":["0xef1bfb6a12794615c9b0b5a21e6741f01e570185"], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"ibft_discardValidatorVote","params":["0xef1bfb6a12794615c9b0b5a21e6741f01e570185"], "id":1}
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "result" : true
}

ibft_getPendingVotes

Returns current votes.

Parameters

None

Returns

result: object - Map of account addresses to corresponding boolean values indicating the vote for each account.

If the boolean value is true, the vote is to add a validator. If false, the proposal is to remove a validator.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"ibft_getPendingVotes","params":[], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"ibft_getPendingVotes","params":[], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "0xef1bfb6a12794615c9b0b5a21e6741f01e570185": true,
        "0x42d4287eac8078828cf5f3486cfe601a275a49a5": true
    }
}

ibft_getValidatorsByBlockHash

Lists the validators defined in the specified block.

Parameters

data - 32-byte block hash

Returns

result: array of data - List of validator addresses

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"ibft_getValidatorsByBlockHash","params":["0xbae7d3feafd743343b9a4c578cab5e5d65eb735f6855fb845c00cab356331256"], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"ibft_getValidatorsByBlockHash","params":["0xbae7d3feafd743343b9a4c578cab5e5d65eb735f6855fb845c00cab356331256"], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        "0x42d4287eac8078828cf5f3486cfe601a275a49a5",
        "0xb1b2bc9582d2901afdc579f528a35ca41403fa85",
        "0xef1bfb6a12794615c9b0b5a21e6741f01e570185"
    ]
}

ibft_getValidatorsByBlockNumber

Lists the validators defined in the specified block.

Parameters

quantity|tag - Integer representing a block number or one of the string tags latest, earliest, or pending, as described in Block Parameter.

Returns

result: array of data - List of validator addresses

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"ibft_getValidatorsByBlockNumber","params":["latest"], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"ibft_getValidatorsByBlockNumber","params":["latest"], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        "0x42d4287eac8078828cf5f3486cfe601a275a49a5",
        "0xb1b2bc9582d2901afdc579f528a35ca41403fa85",
        "0xef1bfb6a12794615c9b0b5a21e6741f01e570185"
    ]
}

ibft_proposeValidatorVote

Proposes adding or removing a validator with the specified address.

Parameters

data - Account address

boolean - true to propose adding validator or false to propose removing validator.

Returns

result: boolean - true

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"ibft_proposeValidatorVote","params":["42d4287eac8078828cf5f3486cfe601a275a49a5",true], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"ibft_proposeValidatorVote","params":["42d4287eac8078828cf5f3486cfe601a275a49a5",true], "id":1}
{
 "jsonrpc" : "2.0",
 "id" : 1,
 "result" : true
}

Permissioning Methods

Note

The PERM API methods are not enabled by default for JSON-RPC. Use the --rpc-http-api or --rpc-ws-api options to enable the PERM API methods.

perm_addAccountsToWhitelist

Adds accounts (participants) to the accounts whitelist.

Parameters

list of strings - List of account addresses

Note

The parameters list contains a list which is why the account addresses are enclosed by double square brackets.

Returns

result - Success or error. Errors include attempting to add accounts already on the whitelist or including invalid account addresses.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"perm_addAccountsToWhitelist","params":[["0xb9b81ee349c3807e46bc71aa2632203c5b462032", "0xb9b81ee349c3807e46bc71aa2632203c5b462034"]], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"perm_addAccountsToWhitelist","params":[["0xb9b81ee349c3807e46bc71aa2632203c5b462032", "0xb9b81ee349c3807e46bc71aa2632203c5b462034"]], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": "Success"
}

perm_getAccountsWhitelist

Lists accounts (participants) in the accounts whitelist.

Parameters

None

Returns

result: list - Accounts (participants) in the accounts whitelist.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"perm_getAccountsWhitelist","params":[], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"perm_getAccountsWhitelist","params":[], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        "0x0000000000000000000000000000000000000009",
        "0xb9b81ee349c3807e46bc71aa2632203c5b462033"
    ]
}

perm_removeAccountsFromWhitelist

Removes accounts (participants) from the accounts whitelist.

Parameters

list of strings - List of account addresses

Note

The parameters list contains a list which is why the account addresses are enclosed by double square brackets.

Returns

result - Success or error. Errors include attempting to remove accounts not on the whitelist or including invalid account addresses.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"perm_removeAccountsFromWhitelist","params":[["0xb9b81ee349c3807e46bc71aa2632203c5b462032", "0xb9b81ee349c3807e46bc71aa2632203c5b462034"]], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"perm_removeAccountsFromWhitelist","params":[["0xb9b81ee349c3807e46bc71aa2632203c5b462032", "0xb9b81ee349c3807e46bc71aa2632203c5b462034"]], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": "Success"
}

perm_addNodesToWhitelist

Adds nodes to the nodes whitelist.

Parameters

list of strings - List of enode URLs

Note

The parameters list contains a list which is why the enode URLs are enclosed by double square brackets.

Returns

result - Success or error. Errors include attempting to add nodes already on the whitelist or including invalid enode URLs.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"perm_addNodesToWhitelist","params":[["enode://7e4ef30e9ec683f26ad76ffca5b5148fa7a6575f4cfad4eb0f52f9c3d8335f4a9[email protected]127.0.0.1:30303","enode://2feb33b3c6c4a8f77d84a5ce44954e83e5f163e7a65f7f7a7fec499ceb0ddd76a[email protected]127.0.0.1:30304"]], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"perm_addNodesToWhitelist","params":[["enode://7e4ef30e9ec683f26ad76ffca5b5148fa7a6575f4cfad4eb0f52f9c3d8335f4a9[email protected]127.0.0.1:30303","enode://2feb33b3c6c4a8f77d84a5ce44954e83e5f163e7a65f7f7a7fec499ceb0ddd76a[email protected]127.0.0.1:30304"]], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": "Success"
}

perm_getNodesWhitelist

Lists nodes in the nodes whitelist.

Parameters

None

Returns

result: list - Enode URLs of nodes in the nodes whitelist.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"perm_getNodesWhitelist","params":[], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"perm_getNodesWhitelist","params":[], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        "enode://7b61d5ee4b44335873e6912cb5dd3e3877c860ba21417c9b9ef1f7e500a822137[email protected]127.0.0.1:30305",
        "enode://2feb33b3c6c4a8f77d84a5ce44954e83e5f163e7a65f7f7a7fec499ceb0ddd76a[email protected]127.0.0.1:30304"
    ]
}

perm_removeNodesFromWhitelist

Removes nodes from the nodes whitelist.

Parameters

list of strings - List of enode URLs

Note

The parameters list contains a list which is why the enode URLs are enclosed by double square brackets.

Returns

result - Success or error. Errors include attempting to remove nodes not on the whitelist or including invalid enode URLs.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"perm_removeNodesFromWhitelist","params":[["enode://7e4ef30e9ec683f26ad76ffca5b5148fa7a6575f4cfad4eb0f52f9c3d8335f4a9[email protected]127.0.0.1:30303","enode://2feb33b3c6c4a8f77d84a5ce44954e83e5f163e7a65f7f7a7fec499ceb0ddd76a[email protected]127.0.0.1:30304"]], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"perm_removeNodesFromWhitelist","params":[["enode://7e4ef30e9ec683f26ad76ffca5b5148fa7a6575f4cfad4eb0f52f9c3d8335f4a9[email protected]127.0.0.1:30303","enode://2feb33b3c6c4a8f77d84a5ce44954e83e5f163e7a65f7f7a7fec499ceb0ddd76a[email protected]127.0.0.1:30304"]], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": "Success"
}

perm_reloadPermissionsFromFile

Reloads the accounts and nodes whitelists from the permissions configuration file.

Parameters

None

Returns

result - Success or error if the permissions configuration file is not valid.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"perm_reloadPermissionsFromFile","params":[], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"perm_reloadPermissionsFromFile","params":[], "id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": "Success"
}

Txpool Methods

Note

The TXPOOL API methods are not enabled by default for JSON-RPC. Use the --rpc-http-api or --rpc-ws-api options to enable the TXPOOL API methods.

txpool_pantheonStatistics

Lists statistics about the node transaction pool.

Parameters

None

Returns

result - Transaction pool statistics:

  • maxSize - Maximum number of transactions kept in the transaction pool. Use the --tx-pool-max-size option to configure the maximum size.
  • localCount - Number of transactions submitted directly to this node
  • remoteCount - Number of transactions received from remote nodes.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"txpool_pantheonStatistics","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"txpool_pantheonStatistics","params":[],"id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "maxSize": 4096,
        "localCount": 1,
        "remoteCount": 0
    }
}

txpool_pantheonTransactions

Lists transactions in the node transaction pool.

Parameters

None

Returns

result - List of transactions

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"txpool_pantheonTransactions","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"txpool_pantheonTransactions","params":[],"id":1}
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        {
            "hash": "0x8a66830098be4006a3f63a03b6e9b67aa721e04bd6b46d420b8f1937689fb4f1",
            "isReceivedFromLocalSource": true,
            "addedToPoolAt": "2019-03-21T01:35:50.911Z"
        },
        {
            "hash": "0x41ee803c3987ceb5bcea0fad7a76a8106a2a6dd654409007d9931032ea54579b",
            "isReceivedFromLocalSource": true,
            "addedToPoolAt": "2019-03-21T01:36:00.374Z"
        }
    ]
}

EEA Methods

Note

The EEA API methods are not enabled by default for JSON-RPC. Use the --rpc-http-api or --rpc-ws-api options to enable the EEA API methods.

eea_sendRawTransaction

Creates a private transaction from a signed transaction, generates the transaction hash and submits it to the transaction pool, and returns the transaction hash of the Privacy Marker Transaction.

The signed transaction passed as an input parameter includes the privateFrom, privateFor, and restriction fields.

To avoid exposing your private key, create signed transactions offline and send the signed transaction data using eea_sendRawTransaction.

Important

For production systems requiring private transactions, we recommend using a network with a consensus mechanism supporting transaction finality. For example, IBFT 2.0.

Parameters

data - Signed RLP-encoded private transaction. For example:

params: ["0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"]

Returns

result : data - 32-byte transaction hash

Tip

If creating a contract, use eea_getTransactionReceipt to retrieve the contract address after the transaction is finalized.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eea_sendRawTransaction","params": ["0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"], "id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eea_sendRawTransaction","params": ["0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"], "id":1}
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}

eea_getTransactionReceipt

Returns information about the private transaction after the transaction was mined. Receipts for pending transactions are not available.

Parameters

data - 32-byte hash of a transaction.

Returns

Object - Private Transaction receipt object, or null if no receipt found.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eea_getTransactionReceipt","params":["0xf3ab9693ad92e277bf785e1772f29fb1864904bbbe87b0470455ddb082caab9d"],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"eea_getTransactionReceipt","params":["0xf3ab9693ad92e277bf785e1772f29fb1864904bbbe87b0470455ddb082caab9d"],"id":1}
{
   "jsonrpc": "2.0",
   "id": 1,
   "result": {
       "contractAddress": "0xf4464be696b6531b87edbfb8c21dd178c34eb89e",
       "from": "0x372a70ace72b02cc7f1757183f98c620254f9c8d",
       "to": null,
       "output": "0x6080604052600436106100565763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633fa4f245811461005b5780636057361d1461008257806367e404ce146100ae575b600080fd5b34801561006757600080fd5b506100706100ec565b60408051918252519081900360200190f35b34801561008e57600080fd5b506100ac600480360360208110156100a557600080fd5b50356100f2565b005b3480156100ba57600080fd5b506100c3610151565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b60025490565b604080513381526020810183905281517fc9db20adedc6cf2b5d25252b101ab03e124902a73fcb12b753f3d1aaa2d8f9f5929181900390910190a16002556001805473ffffffffffffffffffffffffffffffffffffffff191633179055565b60015473ffffffffffffffffffffffffffffffffffffffff169056fea165627a7a72305820c7f729cb24e05c221f5aa913700793994656f233fe2ce3b9fd9a505ea17e8d8a0029",
       "logs": []
   }
}

Miscellaneous Methods

rpc_modules

Lists enabled APIs and the version of each.

Parameters

None

Returns

Enabled APIs.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_modules","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","method":"rpc_modules","params":[],"id":1}

```json tab=”JSON result” { “jsonrpc”: “2.0”, “id”: 1, “result”: { “web3”: “1.0”, “eth”: “1.0”, “net”: “1.0” } }

Questions or feedback? You can discuss issues and obtain free support on Pantheon Gitter channel.
For paid professional support by PegaSys, contact us at [email protected]