RPC Interfaces


A collection holding all the Ethereum JSON RPC API calls


web3_clientVersion

POST http://localhost:8545

Returns the current client version.

Parameters

none

Returns

String - The current client version


Request

Header

Key Value Description
Content-Type application/json  

Body

{
    "jsonrpc": "2.0",
    "method": "web3_clientVersion",
    "params": [],
    "id": 1
}

web3_sha3

POST http://localhost:8545

Returns Keccak-256 (not the standardized SHA3-256) of the given data.

Parameters

DATA - The data to convert into a SHA3 hash

params: [
  "0x68656c6c6f20776f726c64"
]

Returns

DATA - The SHA3 result of the given string


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"web3_sha3",
  "params":["0x68656c6c6f20776f726c64"],
  "id":64
}

net_listening

POST http://localhost:8545

Returns true if client is actively listening for network connections.

TODO Remove hard coded value

Parameters

none

Returns

Boolean - true when listening, false otherwise


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"net_listening",
  "params":[],
  "id":67
}

net_version

POST http://localhost:8545

Returns the current network id.

Parameters

none

Returns

String - The current network id

"1": Ethereum Mainnet

"2": Morden Testnet (deprecated)

"3": Ropsten Testnet

"4": Rinkeby Testnet

"42": Kovan Testnet


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"net_version",
  "params":[],
  "id":67
}

net_peerCount

POST http://localhost:8545

Returns number of peers currently connected to the client.

TODO This routine currently returns a hard coded value of ‘25’

Parameters

none

Returns

QUANTITY - Integer of the number of connected peers


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"net_peerCount",
  "params":[],
  "id":74
}

eth_getBlockByNumber

POST http://localhost:8545

Returns information about a block given the block’s number.

Parameters

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

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

params: [
   '0x1b4', // 436
   true
]

Returns

Object - A block object, or null when no block was found. See eth_getBlockByHash


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getBlockByNumber",
  "params":[
      "0xf4629",
      false
  ],
  "id":1
}

eth_getBlockByHash

POST http://localhost:8545

Returns information about a block given the block’s hash.

Parameters

DATA, 32 Bytes - Hash of a block

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

params: [
   '0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331',
   true
]

Returns

Object - A block object, or null when no block was found

number: QUANTITY - The block number. null when its pending block

hash: DATA, 32 Bytes - hash of the block. null when its pending block

parentHash: DATA, 32 Bytes - hash of the parent block

nonce: DATA, 8 Bytes - hash of the generated proof-of-work. null when its pending block

sha3Uncles: DATA, 32 Bytes - SHA3 of the uncles data in the block

logsBloom: DATA, 256 Bytes - The bloom filter for the logs of the block. null when its pending block

transactionsRoot: DATA, 32 Bytes - The root of the transaction trie of the block

stateRoot: DATA, 32 Bytes - The root of the final state trie of the block

receiptsRoot: DATA, 32 Bytes - The root of the receipts trie of the block

miner: DATA, 20 Bytes - The address of the beneficiary to whom the mining rewards were given

difficulty: QUANTITY - Integer of the difficulty for this block

totalDifficulty: QUANTITY - Integer of the total difficulty of the chain until this block

extraData: DATA - The “extra data” field of this block

size: QUANTITY - integer the size of this block in bytes

gasLimit: QUANTITY - The maximum gas allowed in this block

gasUsed: QUANTITY - The total used gas by all transactions in this block

timestamp: QUANTITY - The unix timestamp for when the block was collated

transactions: Array - Array of transaction objects, or 32 Bytes transaction hashes depending on the last given parameter

uncles: Array - Array of uncle hashes


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getBlockByHash",
  "params":[
      "0x0b4c6fb75ded4b90218cf0346b0885e442878f104e1b60bf75d5b6860eeacd53",
      false
  ],
  "id":1
}

eth_getBlockTransactionCountByNumber

POST http://localhost:8545

Returns the number of transactions in a block given the block’s block number.

Parameters

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

params: [
   '0xe8', // 232
]

Returns

QUANTITY - Integer of the number of transactions in this block


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getBlockTransactionCountByNumber",
  "params":[
      "0xf4629"
  ],
  "id":1
}

eth_getBlockTransactionCountByHash

POST http://localhost:8545

Returns the number of transactions in a block given the block’s block hash.

Parameters

DATA, 32 Bytes - hash of a block

params: [
   '0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238'
]

Returns

QUANTITY - Integer of the number of transactions in this block


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getBlockTransactionCountByHash",
  "params":[
      "0x0b4c6fb75ded4b90218cf0346b0885e442878f104e1b60bf75d5b6860eeacd53"
  ],
  "id":1
}

eth_getTransactionByHash

POST http://localhost:8545

Returns information about a transaction given the transaction’s hash.

Parameters

DATA, 32 Bytes - hash of a transaction

params: [
   "0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"
]

Returns

Object - A transaction object, or null when no transaction was found

hash: DATA, 32 Bytes - hash of the transaction

nonce: QUANTITY - The number of transactions made by the sender prior to this one

blockHash: DATA, 32 Bytes - hash of the block where this transaction was in. null when its pending

blockNumber: QUANTITY - block number where this transaction was in. null when its pending

transactionIndex: QUANTITY - Integer of the transactions index position in the block. null when its pending

from: DATA, 20 Bytes - address of the sender

to: DATA, 20 Bytes - address of the receiver. null when its a contract creation transaction

value: QUANTITY - value transferred in Wei

gasPrice: QUANTITY - gas price provided by the sender in Wei

gas: QUANTITY - gas provided by the sender

input: DATA - The data send along with the transaction


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getTransactionByHash",
  "params":[
      "0xb2fea9c4b24775af6990237aa90228e5e092c56bdaee74496992a53c208da1ee"
  ],
  "id":1
}

eth_getTransactionByBlockHashAndIndex

POST http://localhost:8545

Returns information about a transaction given the block’s hash and a transaction index.

Parameters

DATA, 32 Bytes - hash of a block

QUANTITY - Integer of the transaction index position

params: [
   '0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331',
   '0x0' // 0
]

Returns

Object - A transaction object, or null when no transaction was found. See eth_getTransactionByHash


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getTransactionByBlockHashAndIndex",
  "params":[
      "0x785b221ec95c66579d5ae14eebe16284a769e948359615d580f02e646e93f1d5",
      "0x25"
  ],
  "id":1
}

eth_getTransactionByBlockNumberAndIndex

POST http://localhost:8545

Returns information about a transaction given a block number and transaction index.

Parameters

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

QUANTITY - The transaction index position

params: [
   '0x29c', // 668
   '0x0' // 0
]

Returns

Object - A transaction object, or null when no transaction was found. See eth_getTransactionByHash


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getTransactionByBlockNumberAndIndex",
  "params":[
      "0x52a90b",
      "0x25"
  ],
  "id":1
}

eth_getTransactionReceipt

POST http://localhost:8545

Returns the receipt of a transaction given the transaction’s hash.

Note That the receipt is not available for pending transactions.

Parameters

DATA, 32 Bytes - hash of a transaction

params: [
   '0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238'
]

Returns

Object - A transaction receipt object, or null when no receipt was found

transactionHash: DATA, 32 Bytes - hash of the transaction

transactionIndex: QUANTITY - Integer of the transactions index position in the block

blockHash: DATA, 32 Bytes - hash of the block where this transaction was in

blockNumber: QUANTITY - block number where this transaction was in

cumulativeGasUsed: QUANTITY - The total amount of gas used when this transaction was executed in the block

gasUsed: QUANTITY - The amount of gas used by this specific transaction alone

contractAddress: DATA, 20 Bytes - The contract address created, if the transaction was a contract creation, null otherwise

logs: Array - Array of log objects, which this transaction generated

logsBloom: DATA, 256 Bytes - Bloom filter for light clients to quickly retrieve related logs

It also returns either

root : DATA 32 bytes of post-transaction stateroot (if the block is pre-Byzantium)

status: QUANTITY either 1 (success) or 0 (failure)


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getTransactionReceipt",
  "params":[
      "0xa3ece39ae137617669c6933b7578b94e705e765683f260fcfe30eaa41932610f"
  ],
  "id":1
}

eth_getUncleByBlockNumberAndIndex

POST http://localhost:8545

Returns information about an uncle given a block’s number and the index of the uncle.

Parameters

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

QUANTITY - The uncle’s index position

params: [
   '0x29c', // 668
   '0x0' // 0
]

Returns

Object - A block object (with zero transactions), or null when no uncle was found. See eth_getBlockByHash


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getUncleByBlockNumberAndIndex",
  "params":[
      "0x3",
      "0x0"
  ],
  "id":1
}

eth_getUncleByBlockHashAndIndex

POST http://localhost:8545

Returns information about an uncle given a block’s hash and the index of the uncle.

Parameters

DATA, 32 Bytes - hash a block

QUANTITY - The uncle’s index position

params: [
   '0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b',
   '0x0' // 0
]

Returns

Object - A block object (with zero transactions), or null when no uncle was found. See eth_getBlockByHash


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getUncleByBlockHashAndIndex",
  "params":[
      "0x3d6122660cc824376f11ee842f83addc3525e2dd6756b9bcf0affa6aa88cf741",
      "0x0"
  ],
  "id":1
}

eth_getUncleCountByBlockNumber

POST http://localhost:8545

Returns the number of uncles in the block, if any.

Parameters

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

params: [
   '0x29c' // 668
]

Returns

QUANTITY - The number of uncles in the block, if any


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getUncleByBlockNumberAndIndex",
  "params":[
      "0x3",
      "0x0"
  ],
  "id":1
}

eth_getUncleCountByBlockHash

POST http://localhost:8545

Returns the number of uncles in the block, if any.

Parameters

DATA, 32 Bytes - hash a block

params: [
   '0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b',
   '0x0' // 0
]

Returns

QUANTITY - The number of uncles in the block, if any


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getUncleByBlockHashAndIndex",
  "params":[
      "0x3d6122660cc824376f11ee842f83addc3525e2dd6756b9bcf0affa6aa88cf741",
      "0x0"
  ],
  "id":1
}

eth_newPendingTransactionFilter

POST http://localhost:8545

Creates a pending transaction filter in the node. To check if the state has changed, call eth_getFilterChanges.

Parameters

None

Returns

QUANTITY - A filter id


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_newPendingTransactionFilter",
  "params":[],
  "id":73
}

eth_newBlockFilter

POST http://localhost:8545

Creates a block filter in the node, to notify when a new block arrives. To check if the state has changed, call eth_getFilterChanges.

Parameters

None

Returns

QUANTITY - A filter id


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_newBlockFilter",
  "params":[],
  "id":73
}

eth_newFilter

POST http://localhost:8545

Creates an arbitrary filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call eth_getFilterChanges.

Example A note on specifying topic filters

Topics are order-dependent. A transaction with a log with topics [A, B] will be matched by the following topic filters

[] “anything”

[A] “A in first position (and anything after)”

[null, B] “anything in first position AND B in second position (and anything after)”

[A, B] “A in first position AND B in second position (and anything after)”

[[A, B], [A, B]] “(A OR B) in first position AND (A OR B) in second position (and anything after)”

Parameters

Object - The filter options

fromBlock: QUANTITY|TAG - (optional, default "latest") Integer block number, or "latest" for the last mined block or "pending", "earliest" for not yet mined transactions

toBlock: QUANTITY|TAG - (optional, default "latest") Integer block number, or "latest" for the last mined block or "pending", "earliest" for not yet mined transactions

address: DATA|Array of DATA, 20 Bytes - (optional) Contract address or a list of addresses from which logs should originate

topics: Array of DATA, - (optional) Array of 32 Bytes DATA topics. Topics are order-dependent. Each topic can also be an array of DATA with “or” options

params: [{
  "fromBlock": "0x1",
  "toBlock": "0x2",
  "address": " 0x8888f1f195afa192cfee860698584c030f4c9db1",
  "topics": ["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", null, ["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", "0x0000000000000000000000000aff3454fce5edbc8cca8697c15331677e6ebccc"]]
}]

Returns

QUANTITY - A filter id


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_newFilter",
  "params":[
      {
          "topics":["0x12341234"]
      }
  ],
  "id":73
}

eth_uninstallFilter

POST http://localhost:8545

Uninstalls a previously-created filter given the filter’s id. Always uninstall filters when no longer needed.

Note Filters timeout when they are not requested with eth_getFilterChanges for a period of time.

Parameters

QUANTITY - The filter id

params: [
  "0xb" // 11
]

Returns

Boolean - true if the filter was successfully uninstalled, false otherwise


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_uninstallFilter",
  "params":[
      "0xb"
  ],
  "id":73
}

eth_getFilterChanges

POST http://localhost:8545

Polling method for a previously-created filter, which returns an array of logs which occurred since last poll.

Parameters

QUANTITY - The filter id

params: [
  "0x16" // 22
]

Returns

Array - Array of log objects, or an empty array if nothing has changed since last poll

For filters created with eth_newBlockFilter the return are block hashes (DATA, 32 Bytes), e.g. ["0x3454645634534..."]

For filters created with eth_newPendingTransactionFilter the return are transaction hashes (DATA, 32 Bytes), e.g. ["0x6345343454645..."]

For filters created with eth_newFilter logs are objects with following params

removed: TAG - true when the log was removed, due to a chain reorganization. false if its a valid log

logIndex: QUANTITY - Integer of the log index position in the block. null when its pending log

transactionIndex: QUANTITY - Integer of the transactions index position log was created from. null when its pending log

transactionHash: DATA, 32 Bytes - hash of the transactions this log was created from. null when its pending log

blockHash: DATA, 32 Bytes - hash of the block where this log was in. null when its pending. null when its pending log

blockNumber: QUANTITY - The block number where this log was in. null when its pending. null when its pending log

address: DATA, 20 Bytes - address from which this log originated

data: DATA - contains one or more 32 Bytes non-indexed arguments of the log

topics: Array of DATA - Array of 0 to 4 32 Bytes DATA of indexed log arguments. (In solidity: The first topic is the hash of the signature of the event (e.g. Deposit(address,bytes32,uint256)), except you declared the event with the anonymous specifier.)


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getFilterChanges",
  "params":[
      "0x16"
  ],
  "id":73
}

eth_getLogs

POST http://localhost:8545

Returns an array of logs matching a given filter object.

Parameters

Object - The filter object, see eth_newFilter parameters

params: [{
  "topics": ["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b"]
}]

Returns

Array - Array of log objects, or an empty array if nothing has changed since last poll. See eth_getFilterChanges


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getLogs",
  "params":[{
      "topics":[
          "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b"
      ]
  }],
  "id":74
}

eth_accounts (deprecated)

POST http://localhost:8545

Returns a list of addresses owned by the client.

Deprecated This function will be removed in the future.

Parameters

none

Returns

Array of DATA, 20 Bytes - addresses owned by the client


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_accounts",
  "params":[],
  "id":1
}

eth_getBalance

POST http://localhost:8545

Returns the balance of an account for a given address.

Parameters

DATA, 20 Bytes - address to check for balance

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

params: [
   ' 0x407d73d8a49eeb85d32cf465507dd71d507100c1',
   'latest'
]

Returns

QUANTITY - Integer of the current balance in wei


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getBalance",
  "params":[
      "0x5df9b87991262f6ba471f09758cde1c0fc1de734",
      "0xb443"
  ],
  "id":1
}

eth_getTransactionCount

POST http://localhost:8545

Returns the number of transactions sent from an address (the nonce).

Parameters

DATA, 20 Bytes - address

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

params: [
   '0x407d73d8a49eeb85d32cf465507dd71d507100c1',
   'latest' // state at the latest block
]

Returns

QUANTITY - Integer of the number of transactions sent from this address


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getTransactionCount",
  "params":[
      "0xfd2605a2bf58fdbb90db1da55df61628b47f9e8c",
      "0xc443"
  ],
  "id":1
}

eth_getCode

POST http://localhost:8545

Returns the byte code at a given address (if it’s a smart contract).

Parameters

DATA, 20 Bytes - Address from which to retreive byte code

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

params: [
   ' 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b',
   '0x2'  // 2
]

Returns

DATA - The byte code (if any) found at the given address


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getCode",
  "params":[
      "0x109c4f2ccc82c4d77bde15f306707320294aea3f",
      "0xc443"
  ],
  "id":1
}

eth_getStorageAt

POST http://localhost:8545

Returns the value from a storage position at a given address.

Parameters

DATA, 20 Bytes - Address of the contract whose storage to retreive

QUANTITY - Integer of the position in the storage

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

Returns

DATA - The value at this storage position

Example

Calculating the correct position depends on the storage to retrieve. Consider the following contract deployed at 0x295a70b2de5e3953354a6a8344e616ed314d7251 by address 0x391694e7e0b0cce554cb130d723a9d27458f9298.

contract Storage {
    uint pos0;
    mapping(address => uint) pos1;

    function Storage() {
        pos0 = 1234;
        pos1[msg.sender] = 5678;
    }
}

Retrieving the value of pos0 is straight forward:

curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' {{HOST}}

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

Retrieving an element of the map is harder. The position of an element in the map is calculated with:

keccack(LeftPad32(key, 0), LeftPad32(map position, 0))

This means to retrieve the storage on pos1["0x391694e7e0b0cce554cb130d723a9d27458f9298"] we need to calculate the position with:

keccak(decodeHex("000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"))

The geth console which comes with the web3 library can be used to make the calculation:

> var key = "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"
undefined
> web3.sha3(key, {"encoding": "hex"})
"0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9"

Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method": "eth_getStorageAt",
  "params": [
      "0x109c4f2ccc82c4d77bde15f306707320294aea3f",
      "0x0",
      "0xc443"
  ],
  "id": 1
}

eth_blockNumber

POST http://localhost:8545

Returns the block number of most recent block.

Parameters

none

Returns

QUANTITY - Integer of the current highest block number the client is on


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_blockNumber",
  "params":[],
  "id":83
}

eth_syncing

POST http://localhost:8545

Returns a data object detaling the status of the sync process or false if not syncing.

Parameters

none

Returns

Object / Boolean, An object with sync status data or false, when not syncing

startingBlock: QUANTITY - The block at which the import started (will only be reset, after the sync reached his head)

currentBlock: QUANTITY - The current block, same as eth_blockNumber

highestBlock: QUANTITY - The estimated highest block


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_syncing",
  "params":[],
  "id":1
}

eth_chainId

POST http://localhost:8545

Returns the current ethereum chainId.

Parameters

none

Returns

QUANTITY - The current chainId


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_chainId",
  "params":[],
  "id":67
}

eth_protocolVersion

POST http://localhost:8545

Returns the current ethereum protocol version.

Parameters

none

Returns

QUANTITY - The current ethereum protocol version


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_protocolVersion",
  "params":[],
  "id":67
}

eth_gasPrice

POST http://localhost:8545

Returns the current price per gas in wei.

Parameters

none

Returns

QUANTITY - Integer of the current gas price in wei


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_gasPrice",
  "params":[],
  "id":73
}

eth_call

POST http://localhost:8545

Executes a new message call immediately without creating a transaction on the block chain.

Parameters

Object - The transaction call object

from: DATA, 20 Bytes - (optional) The address the transaction is sent from

to: DATA, 20 Bytes - The address the transaction is directed to

gas: QUANTITY - (optional) Integer of the gas provided for the transaction execution. eth_call consumes zero gas, but this parameter may be needed by some executions

gasPrice: QUANTITY - (optional) Integer of the gasPrice used for each paid gas

value: QUANTITY - (optional) Integer of the value sent with this transaction

data: DATA - (optional) Hash of the method signature and encoded parameters. For details see Ethereum Contract ABI

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

Returns

DATA - The return value of executed contract


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_call",
  "params":[
    {
      "to": "0x08a2e41fb99a7599725190b9c970ad3893fa33cf",
      "data": "0x18160ddd"
    },
    "0xa2f2e0"
  ],
  "id":1
}

eth_estimateGas

POST http://localhost:8545

Returns an estimate of how much gas is necessary to allow the transaction to complete. The transaction will not be added to the blockchain.

Note The estimate may be significantly more than the amount of gas actually used by the transaction for a variety of reasons including EVM mechanics and node performance.

Note If no gas limit is specified geth uses the block gas limit from the pending block as an upper bound. As a result the returned estimate might not be enough to executed the call/transaction when the amount of gas is higher than the pending block gas limit.

Parameters

Object - The transaction call object. See eth_call parameters, expect that all properties are optional

Returns

QUANTITY - The estimated amount of gas needed for the call


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_estimateGas",
  "params":[
    {
      "to": "0x3d597789ea16054a084ac84ce87f50df9198f415",
      "from": "0x3d597789ea16054a084ac84ce87f50df9198f415",
      "value": "0x1"
    }
  ],
  "id":1
}

eth_sendTransaction

POST http://localhost:8545

Creates new message call transaction or a contract creation if the data field contains code.

Note Use eth_getTransactionReceipt to get the contract address, after the transaction was mined, when you created a contract

Parameters

Object - The transaction object

from: DATA, 20 Bytes - The address the transaction is send from

to: DATA, 20 Bytes - (optional when creating new contract) The address the transaction is directed to

gas: QUANTITY - (optional, default 90000) Integer of the gas provided for the transaction execution. It will return unused gas

gasPrice: QUANTITY - (optional, default To-Be-Determined) Integer of the gasPrice used for each paid gas

value: QUANTITY - (optional) Integer of the value sent with this transaction

data: DATA - The compiled code of a contract OR the hash of the invoked method signature and encoded parameters. For details see Ethereum Contract ABI

nonce: QUANTITY - (optional) Integer of a nonce. This allows to overwrite your own pending transactions that use the same nonce

params: [{
  "from": " 0xb60e8dd61c5d32be8058bb8eb970870f07233155",
  "to": " 0xd46e8dd67c5d32be8058bb8eb970870f07244567",
  "gas": "0x76c0", // 30400
  "gasPrice": "0x9184e72a000", // 10000000000000
  "value": "0x9184e72a", // 2441406250
  "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
}]

Returns

DATA, 32 Bytes - The transaction hash, or the zero hash if the transaction is not yet available


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_sendTransaction",
  "params":[{
      "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
      "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567_hangs_parity",
      "gas": "0x76c0",
      "gasPrice": "0x9184e72a000",
      "value": "0x9184e72a",
      "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
  }],
  "id":1
}

eth_sendRawTransaction

POST http://localhost:8545

Creates new message call transaction or a contract creation for previously-signed transactions.

Note Use eth_getTransactionReceipt to get the contract address, after the transaction was mined, when you created a contract.

Parameters

DATA, The signed transaction data

params: ["0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"]

Returns

DATA, 32 Bytes - The transaction hash, or the zero hash if the transaction is not yet available


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_sendRawTransaction",
  "params":["0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"],
  "id":1
}

eth_coinbase

POST http://localhost:8545

Returns the current client coinbase address.

Parameters

none

Returns

DATA, 20 bytes - The current coinbase address


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_coinbase",
  "params":[],
  "id":64
}

eth_hashrate

POST http://localhost:8545

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

Parameters

none

Returns

QUANTITY - Number of hashes per second


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_hashrate",
  "params":[],
  "id":71
}

eth_mining

POST http://localhost:8545

Returns true if client is actively mining new blocks.

Parameters

none

Returns

Boolean - true if the client is mining, false otherwise


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_mining",
  "params":[],
  "id":71
}

eth_getWork

POST http://localhost:8545

Returns the hash of the current block, the seedHash, and the boundary condition to be met (“target”).

Parameters

none

Returns

Array of DATA, 32 Bytes - Array of three hashes representing block header pow-hash, seed hash and boundary condition

DATA, 32 Bytes - current block header pow-hash

DATA, 32 Bytes - The seed hash used for the DAG

DATA, 32 Bytes - The boundary condition (“target”), 2^256 / difficulty


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getWork",
  "params":[],
  "id":73
}

eth_submitWork

POST http://localhost:8545

Submits a proof-of-work solution to the blockchain.

Parameters

DATA, 8 Bytes - The nonce found (64 bits)

DATA, 32 Bytes - The header’s pow-hash (256 bits)

DATA, 32 Bytes - The mix digest (256 bits)

params: [
  "0x0000000000000001",
  "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
  "0xD1FE5700000000000000000000000000D1FE5700000000000000000000000000"
]

Returns

Boolean - true if the provided solution is valid, false otherwise


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_submitWork",
  "params":[
      "0x1",
      "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
      "0xD16E5700000000000000000000000000D16E5700000000000000000000000000"
  ],
  "id":73
}

eth_submitHashrate

POST http://localhost:8545

Submit the mining hashrate to the blockchain.

Parameters

DATA, 32 Bytes - a hexadecimal string representation (32 bytes) of the hash rate

ID, String - A random hexadecimal(32 bytes) ID identifying the client

params: [
  "0x0000000000000000000000000000000000000000000000000000000000500000",
  "0x59daa26581d0acd1fce254fb7e85952f4c09d0915afd33d3886cd914bc7d283c"
]

Returns

Boolean - true if submitting went through succesfully, false otherwise


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_submitHashrate",
  "params":[
      "0x0000000000000000000000000000000000000000000000000000000000500000",
      "0x59daa26581d0acd1fce254fb7e85952f4c09d0915afd33d3886cd914bc7d283c"
  ],
  "id":73
}

trace_call

POST http://localhost:8545

Call(ctx context.Context, call CallParam, blockNr rpc.BlockNumber) ([]interface{}, error)


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"trace_call",
  "params":[],
  "id":1
}

trace_callMany

POST http://localhost:8545

CallMany(ctx context.Context, calls CallParams) ([]interface{}, error)


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"trace_callMany",
  "params":[],
  "id":1
}

trace_rawTransaction

POST http://localhost:8545

RawTransaction(ctx context.Context, txHash common.Hash, traceTypes []string) ([]interface{}, error)


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"trace_rawTransaction",
  "params":[],
  "id":1
}

trace_replayBlockTransactions

POST http://localhost:8545

ReplayBlockTransactions(ctx context.Context, blockNr rpc.BlockNumber, traceTypes []string) ([]interface{}, error)


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"trace_replayBlockTransactions",
  "params":[],
  "id":1
}

trace_replayTransaction

POST http://localhost:8545

ReplayTransaction(ctx context.Context, txHash common.Hash, traceTypes []string) ([]interface{}, error)


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"trace_replayTransaction",
  "params":[],
  "id":1
}

trace_transaction

POST http://localhost:8545

Transaction(ctx context.Context, txHash common.Hash) (ParityTraces, error)


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"trace_transaction",
  "params":[],
  "id":1
}

trace_get —

POST http://localhost:8545

Get(ctx context.Context, txHash common.Hash, txIndicies []hexutil.Uint64) (*ParityTrace, error)


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"trace_get",
  "params":[],
  "id":1
}

trace_block

POST http://localhost:8545

Block(ctx context.Context, blockNr rpc.BlockNumber) (ParityTraces, error)


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"trace_block",
  "params":[],
  "id":1
}

trace_filter

POST http://localhost:8545

Filter(ctx context.Context, req TraceFilterRequest) (ParityTraces, error)


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"trace_filter",
  "params":[],
  "id":1
}

tg_forks

POST http://localhost:8545

Returns the genesis block hash and a sorted list of already passed fork block numbers as well as the next fork block (if applicable)

Parameters

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

Returns

A structure of the type Forks

type Forks struct {
    genesis common.Hash // the hash of the genesis block
    passed []uint64 // array of block numbers passed by this client
    next *uint64 // the next fork block (may be empty)
}

Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"tg_forks",
  "params":["latest"],
  "id":1
}

tg_getHeaderByNumber

POST http://localhost:8545

Returns a block’s header given a block number ignoring the block’s transaction and uncle list (may be faster).

Parameters

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

Returns

Object - A block object, or null when no block was found. See eth_getBlockByHash


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"tg_getHeaderByNumber",
  "params":[
      "0x3"
  ],
  "id":1
}

tg_getHeaderByHash

POST http://localhost:8545

Returns a block’s header given a block’s hash.

Parameters

DATA, 32 Bytes - Hash of a block

params: [
   '0x3d6122660cc824376f11ee842f83addc3525e2dd6756b9bcf0affa6aa88cf741'
]

Returns

Object - A block object, or null when no block was found. See eth_getBlockByHash


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"tg_getHeaderByHash",
  "params":[
      "0x3d6122660cc824376f11ee842f83addc3525e2dd6756b9bcf0affa6aa88cf741"
  ],
  "id":1
}

tg_getLogsByHash

POST http://localhost:8545

Returns an array of arrays of logs generated by the transactions in the block given by the block’s hash.

Note: The returned value is an array of arrays of log entries. There is an entry for each transaction in the block.

If transaction X did not create any logs, the entry at result[X] will be null

If transaction X generated N logs, the entry at position result[X] will be an array of N log objects

Parameters

blockHash: DATA, 32 bytes, hash of block at which to retreive data

Returns

Array - An array of arrays of log objects, some of which may be null, found in the block. See eth_getFilterChanges


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getLogsByHash",
  "params":[
      "0x2f244c154cbacb0305581295b80efa6dffb0224b60386a5fc6ae9585e2a140c4"
  ],
  "id":1
}

tg_issuance

POST http://localhost:8545

Returns the total issuance (block reward plus uncle reward) for the given block.

Parameters

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

Returns

Object - an Issuance object of type

{
  blockReward: "0x478eae0e571ba000", // the issuance to the miner of the block (includes nephew reward but not transaction fees)
  uncleReward: "0x340aad21b3b70000", // the issuance to miners of included uncle (if any)
  issuance: "0x7b995b300ad2a000" // the sum of blockReward and uncleReward
}

Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"tg_issuance",
  "params":[
      "0x3"
  ],
  "id":1
}

debug_storageRangeAt

POST http://localhost:8545

Returns information about a range of storage locations (if any) for the given address.

Parameters

blockHash: DATA, 32 bytes, hash of block at which to retreive data

txIndex: QUANTITY, 8 bytes, transaction index in the give block

contractAddress: DATA 20 bytes, contract address from which to retreive storage data

keyStart: DATA 32 bytes, storage key to retreive

maxResult: QUANTITY, 8 bytes, the number of values to retreive

Returns

Returns StorageRangeResult which is defined as

type StorageRangeResult struct {
    `storage` StorageMap // see below
    `nextKey` *common.Hash // nil if `storage` includes the last key in the trie
}

StorageMap is a type defined as map[common.Hash]StorageEntry and StorageEntry is defined as

type StorageEntry struct {
    key   *common.Hash
    value common.Hash
}

Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"debug_storageRangeAt",
  "params":[
      "0xd3f1853788b02e31067f2c6e65cb0ae56729e23e3c92e2393af9396fa182701d",
    1,
    "0xb734c74ff4087493373a27834074f80acbd32827",
      "0x00",
    2
  ],
  "id":1
}

debug_accountRange

POST http://localhost:8545

Returns a range of accounts involved in the given block range

Parameters

QUANTITY|TAG - Integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

keyStart: DATA, N bytes, a prefix against which to match account addresses (report only on accounts addresses that begin with this prefix, default matches all accounts)

maxResult: QUANTITY, 8 bytes, the maximum number of accounts to retreive

excludeCode: Boolean, if true, do not return byte code from the address, if false return the byte code (if any)

excludeStorage: Boolean, if true, do not return storage from the address, if false return storage (if any)

excludeMissingPreimages: Boolean, if true, do not return missing preimages, if false do return them

Returns

Returns IteratorDump which is defined as

type IteratorDump struct {
    root     string
    accounts map[common.Address]DumpAccount
    next     []byte // nil if no more accounts
}

DumpAccount is a type defined as

type DumpAccount struct {
    balance   string
    nonce     uint64
    root      string
    codeHash  string
    code      string
    storage   map[string]string
    address   *common.Address
    secureKey hexutil.Bytes // If we don't have address, we can output the key
}

Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"debug_accountRange",
  "params":[
      "0x2",
      [10],
    1,
    true,
    true,
    true
  ],
  "id":1
}

debug_getModifiedAccountsByNumber

POST http://localhost:8545

Returns a list of accounts modified in the given block.

Parameters

startNum: QUANTITY|TAG - Integer of a first block number to process, or the string "earliest", "latest" or "pending"

endNum: QUANTITY|TAG - Integer of a last block number (inclusive) to process, or the string "earliest", "latest" or "pending". Optional, defaults to startNum

Returns

Array of DATA, 20 Bytes - Array of addresses modifed in the given block range


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"debug_getModifiedAccountsByNumber",
  "params":[
      "0xccccd",
      "0xcccce"
  ],
  "id":1
}

debug_getModifiedAccountsByHash

POST http://localhost:8545

Returns a list of accounts modified in the given block.

Parameters

startHash: DATA, 32 bytes, the first hash of block at which to retreive data

endHash: DATA, 32 bytes, the last hash of block at which to retreive data. Optional, defaults to startHash

Returns

Array of DATA, 20 Bytes - Array of addresses modifed in the given block range


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"debug_getModifiedAccountsByHash",
  "params":[
      "0x2a1af018e33bcbd5015c96a356117a5251fcccf94a9c7c8f0148e25fdee37aec",
      "0x4e3d3e7eee350df0ee6e94a44471ee2d22cfb174db89bbf8e6c5f6aef7b360c5"
  ],
  "id":1
}

debug_traceTransaction

POST http://localhost:8545

Returns Geth style transaction traces.

Parameters

txHash: DATA, 32 bytes, hash of transaction to trace. config - TODO

TODO

Returns

TODO


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"debug_traceTransaction",
  "params":[
      "0x893c428fed019404f704cf4d9be977ed9ca01050ed93dccdd6c169422155586f"
  ],
  "id":1
}

eth_getCompilers (deprecated)

POST http://localhost:8545

Returns a list of available compilers in the client.

Deprecated This function will be removed in the future.

Parameters

none

Returns

Array of String - Array of available compilers


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_getCompilers",
  "params":[],
  "id":1
}

eth_compileLLL (deprecated)

POST http://localhost:8545

Returns compiled LLL code.

Deprecated This function will be removed in the future.

Parameters

String - The source code

params: [
   "/* some serpent */",
]

Returns

DATA - The compiled source code


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_compileLLL",
  "params":[
      "(returnlll (suicide (caller)))"
  ],
  "id":1
}

eth_compileSolidity (deprecated)

POST http://localhost:8545

Returns compiled solidity code.

Deprecated This function will be removed in the future.

Parameters

String - The source code

params: [
   "/* some serpent */",
]

Returns

DATA - The compiled source code


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_compileSolidity",
  "params":[
      "contract test { function multiply(uint a) returns(uint d) {   return a * 7;   } }"
  ],
  "id":1
}

eth_compileSerpent (deprecated)

POST http://localhost:8545

Returns compiled serpent code.

Deprecated This function will be removed in the future.

Parameters

String - The source code

params: [
   "/* some serpent */",
]

Returns

DATA - The compiled source code


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_compileSerpent",
  "params":["/* some serpent */"],
  "id":1
}

eth_sign (deprecated)

POST http://localhost:8545

Calculates an Ethereum specific signature with: sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))).

Deprecated This function will be removed in the future.

Note Adding a prefix to the message makes the calculated signature recognisable as an Ethereum specific signature. This prevents misuse where a malicious DApp can sign arbitrary data (e.g. transaction) and use the signature to impersonate the victim.

Note The address provided to sign the message must be unlocked.

Parameters

account, message

DATA, 20 Bytes - address

DATA, N Bytes - message to sign

Returns

DATA - The signature


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"eth_sign",
  "params":[
      "0x9b2055d370f73ec7d8a03e965129118dc8f5bf83",
      "0xdeadbeef"
  ],
  "id":1
}

db_getString (deprecated)

POST http://localhost:8545

Returns string from the local database.

Deprecated This function will be removed in the future.

Parameters

String - Database name

String - Key name

params: [
  "testDB",
  "myKey"
]

Returns

String - The previously stored string


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"db_getString",
  "params":[
      "testDB",
      "myKey"
  ],
  "id":73
}

db_putString (deprecated)

POST http://localhost:8545

Stores a string in the local database.

Deprecated This function will be removed in the future.

Parameters

String - Database name

String - Key name

String - String to store

params: [
  "testDB",
  "myKey",
  "myString"
]

Returns

Boolean - true if the value was stored, false otherwise


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"db_putString",
  "params":[
      "testDB",
      "myKey",
      "myString"
  ],
  "id":73
}

db_getHex (deprecated)

POST http://localhost:8545

Returns binary data from the local database.

Deprecated This function will be removed in the future.

Parameters

String - Database name

String - Key name

params: [
  "testDB",
  "myKey",
]

Returns

DATA - The previously stored data


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"db_getHex"
  ,"params":[
      "testDB",
      "myKey"
  ],
  "id":73
}

db_putHex (deprecated)

POST http://localhost:8545

Stores binary data in the local database.

Deprecated This function will be removed in the future.

Parameters

String - Database name

String - Key name

DATA - The data to store

params: [
  "testDB",
  "myKey",
  "0x68656c6c6f20776f726c64"
]

Returns

Boolean - true if the value was stored, false otherwise


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"db_putHex",
  "params":[
      "testDB",
      "myKey",
      "0x68656c6c6f20776f726c64"
  ],
  "id":73
}

shh_post (deprecated)

POST http://localhost:8545

Sends a whisper message.

Deprecated This function will be removed in the future.

Parameters

Object - The whisper post object

from: DATA, 60 Bytes - (optional) The identity of the sender

to: DATA, 60 Bytes - (optional) The identity of the receiver. When present whisper will encrypt the message so that only the receiver can decrypt it

topics: Array of DATA - Array of DATA topics, for the receiver to identify messages

payload: DATA - The payload of the message

priority: QUANTITY - The integer of the priority in a range

ttl: QUANTITY - Integer of the time to live in seconds

params: [{
  from: "0x04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a03e245533f97284d442460f2998cd41858798ddfd4d661997d3940272b717b1",
  to: "0x3e245533f97284d442460f2998cd41858798ddf04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a0d4d661997d3940272b717b1",
  topics: ["0x776869737065722d636861742d636c69656e74", "0x4d5a695276454c39425154466b61693532"],
  payload: "0x7b2274797065223a226d6",
  priority: "0x64",
  ttl: "0x64",
}]

Returns

Boolean - true if the message was send, false otherwise


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"shh_post",
  "params":[{
      "from":"0xc931d93e97ab07fe42d923478ba2465f2..",
      "topics": [
          "0x68656c6c6f20776f726c64"
      ],
      "payload":"0x68656c6c6f20776f726c64",
      "ttl":"0x64",
      "priority":"0x64"
  }],
  "id":73
}

shh_version (deprecated)

POST http://localhost:8545

Returns the current whisper protocol version.

Deprecated This function will be removed in the future.

Parameters

none

Returns

String - The current whisper protocol version


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"shh_version",
  "params":[],
  "id":67
}

shh_newIdentity (deprecated)

POST http://localhost:8545

Creates new whisper identity in the client.

Deprecated This function will be removed in the future.

Parameters

none

Returns

DATA, 60 Bytes - The address of the new identiy


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"shh_newIdentity",
  "params":[],
  "id":73
}

shh_hasIdentity (deprecated)

POST http://localhost:8545

Checks if the client hold the private keys for a given identity.

Deprecated This function will be removed in the future.

Parameters

DATA, 60 Bytes - The identity address to check

params: [
  "0x04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a03e245533f97284d442460f2998cd41858798ddfd4d661997d3940272b717b1"
]

Returns

Boolean - true if the client holds the privatekey for that identity, false otherwise


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"shh_hasIdentity",
  "params":[
      "0x04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a03e245533f97284d442460f2998cd41858798ddfd4d661997d3940272b717b1"
  ],
  "id":73
}

shh_newGroup (deprecated)

POST http://localhost:8545

Create a new group.

Deprecated This function will be removed in the future.

Parameters

none

Returns

DATA, 60 Bytes - The address of the new group


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"shh_newGroup",
  "params":[],
  "id":73
}

shh_addToGroup (deprecated)

POST http://localhost:8545

Add to a group.

Deprecated This function will be removed in the future.

Parameters

DATA, 60 Bytes - The identity address to add to a group

params: [
  "0x04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a03e245533f97284d442460f2998cd41858798ddfd4d661997d3940272b717b1"
]

Returns

Boolean - true if the identity was successfully added to the group, false otherwise


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"shh_addToGroup",
  "params":[
      "0x04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a03e245533f97284d442460f2998cd41858798ddfd4d661997d3940272b717b1"
  ],
  "id":73
}

shh_newFilter (deprecated)

POST http://localhost:8545

Creates filter to notify, when client receives whisper message matching the filter options.

Deprecated This function will be removed in the future.

Parameters

Object - The filter options

to: DATA, 60 Bytes - (optional) Identity of the receiver. When present it will try to decrypt any incoming message if the client holds the private key to this identity

topics: Array of DATA - Array of DATA topics which the incoming message’s topics should match

params: [{
   "topics": ['0x12341234bf4b564f'],
   "to": "0x04f96a5e25610293e42a73908e93ccc8c4d4dc0edcfa9fa872f50cb214e08ebf61a03e245533f97284d442460f2998cd41858798ddfd4d661997d3940272b717b1"
}]

Returns

QUANTITY - The newly created filter id


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"shh_newFilter",
  "params":[{
      "topics": [
          "0x12341234bf4b564f"
      ],
      "to": "0x2341234bf4b2341234bf4b564f..."
  }],
  "id":73
}

shh_uninstallFilter (deprecated)

POST http://localhost:8545

Uninstalls a filter with given id.

Deprecated This function will be removed in the future.

Parameters

QUANTITY - The filter id

params: [
  "0x7" // 7
]

Returns

Boolean - true if the filter was successfully uninstalled, false otherwise


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"shh_uninstallFilter",
  "params":[
      "0x7"
  ],
  "id":73
}

shh_getFilterChanges (deprecated)

POST http://localhost:8545

Polling method for whisper filters. Returns new messages since the last call of this method.

Deprecated This function will be removed in the future.

Note calling the shh_getMessages method, will reset the buffer for this method, so that you won’t receive duplicate messages.

Parameters

QUANTITY - The filter id

params: [
  "0x7" // 7
]

Returns

Array - Array of messages received since last poll

hash: DATA, 32 Bytes (?) - The hash of the message

from: DATA, 60 Bytes - The sender of the message, if a sender was specified

to: DATA, 60 Bytes - The receiver of the message, if a receiver was specified

expiry: QUANTITY - Integer of the time in seconds when this message should expire

ttl: QUANTITY - Integer of the time the message should float in the system in seconds

sent: QUANTITY - Integer of the unix timestamp when the message was sent

topics: Array of DATA - Array of DATA topics the message contained

payload: DATA - The payload of the message.

workProved: QUANTITY - Integer of the work this message required before it was send


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"shh_getFilterChanges",
  "params":[
      "0x7"
  ],
  "id":73
}

shh_getMessages (deprecated)

POST http://localhost:8545

Get all messages matching a filter. Unlike shh_getFilterChanges this returns all messages.

Deprecated This function will be removed in the future.

Parameters

QUANTITY - The filter id

params: [
  "0x7" // 7
]

Returns

Array - Array of messages received since last poll


Request

Header

Key Value Description
Content-Type application/json  

Body

{
  "jsonrpc":"2.0",
  "method":"shh_getMessages",
  "params":[
      "0x7"
  ],
  "id":73
}


Built with Postdown.

Author: Titor