Skip to content

JSON RPC API Index

loglos edited this page Nov 9, 2020 · 3 revisions

JSON RPC API

JSON is a light data exchange format. It can represent number, string, ordered value sequence and a collection of name/value pairs.

JSON-RPC is a stateless, light remote procedure call (RPC) protocol. This specification primarily defines several data structures and rules around them. It has nothing to do with transmission because these concepts can be used in the same process over sockets and HTTP or in many different messaging environments. It uses JSON (RFC 4627) as the data format.

Curl Case Explanation

The following curl option may return a response where the node include about content type because--data option sets the content type as “application / x-www-form-urlencoded”. If your node gives no response, please manually set the header by placing -H "Content-Type:application / json" at the beginning of the call.

These examples do not include URL / IP or port combination either. They must be a parameter of curl e.x such as 127.0.0.1:8545

JSON-RPC method

net_version Returns the current network protocol version.

Parameters none

Returns String - The current network protocol version

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":67}'

// Result
{
  "id":67,
  "jsonrpc": "2.0",
  "result": "59"
}

net_listening Returns true if client is actively listening for network connections.

Parameters none

Returns Boolean - true when listening, otherwise false.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"net_listening","params":[],"id":67}'

// Result
{
  "id":67,
  "jsonrpc":"2.0",
  "result":true
}

net_peerCount Returns number of peers currenly connected to the client.

Parameters none

Returns QUANTITY - integer of the number of connected peers.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":74}'

// Result
{
  "id":74,
  "jsonrpc": "2.0",
  "result": "0x2" // 2
}

hpb_protocolVersion Returns the current hpb protocol version.

Parameters none

Returns String - The current hpb protocol version

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_protocolVersion","params":[],"id":67}'

// Result
{
  "id":67,
  "jsonrpc": "2.0",
  "result": "54"
}

hpb_syncing Returns an object object with data about the sync status or FALSE.

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 hpb_blockNumber highestBlock: QUANTITY - The estimated highest block Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_syncing","params":[],"id":64}'
// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": {
    startingBlock: '0x384',
    currentBlock: '0x386',
    highestBlock: '0x454'
  }
}
// Or when not syncing
{
  "id":1,
  "jsonrpc": "2.0",
  "result": false
}

hpb_coinbase Returns the client coinbase address.

Parameters none

Returns DATA, 20 bytes - the current coinbase address.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_coinbase","params":[],"id":64}'

// Result
{
  "id":64,
  "jsonrpc": "2.0",
  "result": "0x407d73d8a49eeb85d32cf465507dd71d507100c1"
}

hpb_mining Returns true if client is actively mining new blocks.

Parameters none

Returns Boolean - returns true of the client is mining, otherwise false.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_mining","params":[],"id":71}'

// Result
{
  "id":71,
  "jsonrpc": "2.0",
  "result": true
}

hpb_gasPrice Returns the current price per gas in wei.

Parameters none

Returns QUANTITY - integer of the current gas price in wei.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_gasPrice","params":[],"id":73}'

// Result
{
  "id":73,
  "jsonrpc": "2.0",
  "result": "0x09184e72a000" // 10000000000000
}

hpb_accounts Returns a list of addresses owned by client.

Parameters none

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

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_accounts","params":[],"id":1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1"]
}

hpb_blockNumber Returns the number of most recent block.

Parameters none

Returns QUANTITY - integer of the current block number the client is on.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_blockNumber","params":[],"id":83}'

// Result
{
  "id":83,
  "jsonrpc": "2.0",
  "result": "0x4b7" // 1207
}

hpb_getBalance Returns the balance of the account of given address.

Parameters

DATA, 20 Bytes - address to check for balance.
QUANTITY|TAG - integer block number, or the string "latest", "earliest" or "pending"
params: [
   '0x407d73d8a49eeb85d32cf465507dd71d507100c1',
   'latest'
]

Returns QUANTITY - integer of the current balance in wei.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getBalance","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"],"id":1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0x0234c8a3397aab58" // 158972490234375000
}

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

Parameters

DATA, 20 Bytes - address of the storage.
QUANTITY - integer of the position in the storage.
QUANTITY|TAG - integer block number, or the string "latest", "earliest" or "pending"
params: [
   '0x407d73d8a49eeb85d32cf465507dd71d507100c1',
   '0x0', // storage position at 0
   '0x2' // state at block number 2
]

Returns DATA - the value at this storage position.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getStorageAt","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "0x0", "0x2"],"id":1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0x03"
}

hpb_getTransactionCount Returns the number of transactions sent from an address.

Parameters

DATA, 20 Bytes - address.
QUANTITY|TAG - integer block number, or the string "latest", "earliest" or "pending"
params: [
   '0x407d73d8a49eeb85d32cf465507dd71d507100c1',
   'latest' // state at the latest block
]

Returns QUANTITY - integer of the number of transactions send from this address.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getTransactionCount","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1","latest"],"id":1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0x1" // 1
}

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

Parameters

DATA, 32 Bytes - hash of a block
params: [
   '0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238'
]

Returns QUANTITY - integer of the number of transactions in this block.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getBlockTransactionCountByHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0xb" // 11
}

hpb_getBlockTransactionCountByNumber Returns the number of transactions in a block from a block matching the given block number.

Parameters

QUANTITY|TAG - integer of a block number, or the string "earliest", "latest" or "pending".
params: [
   '0xe8', // 232
]

Returns QUANTITY - integer of the number of transactions in this block.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getBlockTransactionCountByNumber","params":["0xe8"],"id":1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0xa" // 10
}

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

Parameters

DATA, 32 Bytes - hash of a block
params: [
   '0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238'
]

Returns QUANTITY - integer of the number of uncles in this block.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getUncleCountByBlockHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id"Block:1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0x1" // 1
}

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

Parameters

QUANTITY - integer of a block number, or the string "latest", "earliest" or "pending"
params: [
   '0xe8', // 232
]

Returns QUANTITY - integer of the number of uncles in this block.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getUncleCountByBlockNumber","params":["0xe8"],"id":1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0x1" // 1
}

hpb_getCode Returns code at a given address.

Parameters

DATA, 20 Bytes - address
QUANTITY|TAG - integer block number, or the string "latest", "earliest" or "pending"
params: [
   '0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b',
   '0x2'  // 2
]

Returns DATA - the code from the given address.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getCode","params":["0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "0x2"],"id":1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0x600160008035811a818181146012578301005b601b6001356025565b8060005260206000f25b600060078202905091905056"
}

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

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 send with this transaction
data: DATA - (optional) The compiled code of a contract
nonce: QUANTITY - (optional) Integer of a nonce. This allows to overwrite your own pending transactions that use the same nonce.
params: [{
  "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
  "to": "0xd46e8dd67c5d32be8058bb8eb970870f072445675",
  "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.

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

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_sendTransaction","params":[{see above}],"id":1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}

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

Parameters

Object - The transaction object
data: DATA, The signed transaction data.
params: [{
  "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
}]

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

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

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_sendRawTransaction","params":[{see above}],"id":1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}

hpb_call 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 send from.
to: DATA, 20 Bytes - The address the transaction is directed to.
gas: QUANTITY - (optional) Integer of the gas provided for the transaction execution. hpb_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 send with this transaction
data: DATA - (optional) The compiled code of a contract
QUANTITY|TAG - integer block number, or the string "latest", "earliest" or "pending"


Returns DATA - the return value of executed contract.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_call","params":[{see above}],"id":1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0x0"
}


hpb_estimateGas Makes a call or transaction, which won't be added to the blockchain and returns the used gas, which can be used for estimating the used gas.

Parameters See hpb_call parameters, expect that all properties are optional.

Returns QUANTITY - the amount of gas used.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_estimateGas","params":[{see above}],"id":1}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0x5208" // 21000
}


hpb_getBlockByHash Returns information about a block by 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. Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getBlockByHash","params":["0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331", true],"id":1}'

// Result
{
"id":1,
"jsonrpc":"2.0",
"result": {
    "number": "0x1b4", // 436
    "hash": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331",
    "parentHash": "0x9646252be9520f6e71339a8df9c55e4d7619deeb018d2a3f2d21fc165dde5eb5",
    "nonce": "0xe04d296d2460cfb8472af2c5fd05b5a214109c25688d3704aed5484f9a7792f2",
    "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "logsBloom": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331",
    "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "stateRoot": "0xd5855eb08b3387c0af375e9cdb6acfc05eb8f519e419b874b6ff2ffda7ed1dff",
    "miner": "0x4e65fda2159562a496f9f3522f89122a3088497a",
    "difficulty": "0x027f07", // 163591
    "totalDifficulty":  "0x027f07", // 163591
    "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "size":  "0x027f07", // 163591
    "gasLimit": "0x9f759", // 653145
    "minGasPrice": "0x9f759", // 653145
    "gasUsed": "0x9f759", // 653145
    "timestamp": "0x54e34e8e" // 1424182926
    "transactions": [{...},{ ... }]
    "uncles": ["0x1606e5...", "0xd5145a9..."]
  }
}


hpb_getBlockByNumber Returns information about a block by block number.

Parameters

QUANTITY|TAG - integer of a block number, or the string "earliest", "latest" or "pending"
Boolean - If true it returns the full transaction objects, if false only the hashes of the transactions.
params: [
   '0x1b4', // 436
   true
]


Returns See hpb_getBlockByHash

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getBlockByNumber","params":["0x1b4", true],"id":1}'
Result see hpb_getBlockByHash


hpb_getTransactionByHash Returns the information about a transaction requested by transaction 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. Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getTransactionByHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}'

// Result
{
"id":1,
"jsonrpc":"2.0",
"result": {
    "hash":"0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b",
    "nonce":"0x",
    "blockHash": "0xbeab0aa2411b7ab17f30a99d3cb9c6ef2fc5426d6ad6fd9e2a26a6aed1d1055b",
    "blockNumber": "0x15df", // 5599
    "transactionIndex":  "0x1", // 1
    "from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1",
    "to":"0x85h43d8a49eeb85d32cf465507dd71d507100c1",
    "value":"0x7f110" // 520464
    "gas": "0x7f110" // 520464
    "gasPrice":"0x09184e72a000",
    "input":"0x603880600c6000396000f300603880600c6000396000f3603880600c6000396000f360",
  }
}


hpb_getTransactionByBlockHashAndIndex Returns information about a transaction by block hash and transaction index position.

Parameters

DATA, 32 Bytes - hash of a block.
QUANTITY - integer of the transaction index position.
params: [
   '0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331',
   '0x0' // 0
]


Returns See hpb_getBlockByHash

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getTransactionByBlockHashAndIndex","params":[0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b, "0x0"],"id":1}'
Result see hpb_getTransactionByHash


hpb_getTransactionByBlockNumberAndIndex Returns information about a transaction by block number and transaction index position.

Parameters

QUANTITY|TAG - a block number, or the string "earliest", "latest" or "pending".
QUANTITY - the transaction index position.
params: [
   '0x29c', // 668
   '0x0' // 0
]



Returns See hpb_getBlockByHash

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getTransactionByBlockNumberAndIndex","params":["0x29c", "0x0"],"id":1}'
Result see hpb_getTransactionByHash


hpb_getTransactionReceipt Returns the receipt of a transaction by transaction 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, otherwise null. logs: Array - Array of log objects, which this transaction generated. Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getTransactionReceipt","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}'

// Result
{
"id":1,
"jsonrpc":"2.0",
"result": {
     transactionHash: '0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238',
     transactionIndex:  '0x1', // 1
     blockNumber: '0xb', // 11
     blockHash: '0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b',
     cumulativeGasUsed: '0x33bc', // 13244
     gasUsed: '0x4dc', // 1244
     contractAddress: '0xb60e8dd61c5d32be8058bb8eb970870f07233155' // or null, if none was created
     logs: [{
         // logs as returned by getFilterLogs, etc.
     }, ...]
  }
}


hpb_getUncleByBlockHashAndIndex Returns information about a uncle of a block by hash and uncle index position.

Parameters

DATA, 32 Bytes - hash a block.
QUANTITY - the uncle's index position.
params: [
   '0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b',
   '0x0' // 0
]


Returns See hpb_getBlockByHash

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getUncleByBlockHashAndIndex","params":["0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b", "0x0"],"id":1}'
Result see hpb_getBlockByHash

Note: An uncle doesn't contain individual transactions.


hpb_getUncleByBlockNumberAndIndex Returns information about a uncle of a block by number and uncle index position.

Parameters

QUANTITY|TAG - a block number, or the string "earliest", "latest" or "pending".
QUANTITY - the uncle's index position.
params: [
   '0x29c', // 668
   '0x0' // 0
]


Returns See hpb_getBlockByHash

Note: An uncle doesn't contain individual transactions.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getUncleByBlockNumberAndIndex","params":["0x29c", "0x0"],"id":1}'
Result see hpb_getBlockByHash


hpb_newFilter Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call hpb_getFilterChanges.

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, 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.
params: [{
  "fromBlock": "0x1",
  "toBlock": "0x2",
  "address": "0x8888f1f195afa192cfee860698584c030f4c9db1",
  "topics": ["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b"]
}]


Returns QUANTITY - A filter id.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_newFilter","params":[{"topics":["0x12341234"]}],"id":73}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0x1" // 1
}


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

Parameters None

Returns QUANTITY - A filter id.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_newBlockFilter","params":[],"id":73}'

// Result
{
  "id":1,
  "jsonrpc":  "2.0",
  "result": "0x1" // 1
}


hpb_newPendingTransactionFilter Creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call hpb_getFilterChanges.

Parameters None

Returns QUANTITY - A filter id.

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_newPendingTransactionFilter","params":[],"id":73}'

// Result
{
  "id":1,
  "jsonrpc":  "2.0",
  "result": "0x1" // 1
}


hpb_uninstallFilter Uninstalls a filter with given id. Should always be called when watch is no longer needed. Additonally Filters timeout when they aren't requested with hpb_getFilterChanges for a period of time.

Parameters

QUANTITY - The filter id.
params: [
  "0xb" // 11
]


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

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_uninstallFilter","params":["0xb"],"id":73}'

// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": true
}


hpb_getFilterChanges Polling method for a 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 hpb_newBlockFilter the return are block hashes (DATA, 32 Bytes), e.g. ["0x3454645634534..."]. For filters created with hpb_newPendingTransactionFilter the return are transaction hashes (DATA, 32 Bytes), e.g. ["0x6345343454645..."]. For filters created with hpb_newFilter logs are objects with following params:

type: TAG - pending when the log is pending. mined if log is already mined. 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.) Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getFilterChanges","params":["0x16"],"id":73}'

// Result
{
  "id":1,
  "jsonrpc":"2.0",
  "result": [{
    "logIndex": "0x1", // 1
    "blockNumber":"0x1b4" // 436
    "blockHash": "0x8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcfdf829c5a142f1fccd7d",
    "transactionHash":  "0xdf829c5a142f1fccd7d8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcf",
    "transactionIndex": "0x0", // 0
    "address": "0x16c5785ac562ff41e2dcfdf829c5a142f1fccd7d",
    "data":"0x0000000000000000000000000000000000000000000000000000000000000000",
    "topics": ["0x59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a5"]
    },{
      ...
    }]
}


hpb_getFilterLogs Returns an array of all logs matching filter with given id.

Parameters

QUANTITY - The filter id.
params: [
  "0x16" // 22
]


Returns See hpb_getFilterChanges

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getFilterLogs","params":["0x16"],"id":74}'
Result see hpb_getFilterChanges


hpb_getLogs Returns an array of all logs matching a given filter object.

Parameters

Object - the filter object, see hpb_newFilter parameters.
params: [{
  "topics": ["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b"]
}]


Returns See hpb_getFilterChanges

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"hpb_getLogs","params":[{"topics":["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b"]}],"id":74}'
Result see hpb_getFilterChanges


personal_newAccount Returns a new account public address

Parameters

DATA
params: [{
        '12345678'
    }]



Returns DATA - address:

Example

// Request
curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"personal_newAccount","params":['12345678'],"id":83}'

// Result
{
  "id":1,
  "jsonrpc":"2.0",
  "result": [
      "0x5670b4f2810115fd7cf198433345a7e767de82bf"
    ]
}


Clone this wiki locally