JSON RPC API 索引

优质
小牛编辑
131浏览
2023-12-01

JSON RPC API

JSON 是一种轻量级数据交换格式。它可以表示数字,字符串,有序的值序列以及名称/值对的集合。

JSON-RPC 是一种无状态,轻量级的远程过程调用(RPC)协议。该规范主要定义了几个数据结构和围绕其处理的规则。它与传输无关,因为这些概念可以在同一进程中,通过套接字,通过HTTP或在许多不同的消息传递环境中使用。它使用JSON (RFC 4627)作为数据格式。

Curl 案例解释

下面的curl选项可能会返回一个响应,其中节点包含内容类型,这是因为--data选项将内容类型设置为application / x-www-form-urlencoded。如果您的节点发出不响应,请通过在呼叫开始时放置-H“Content-Type:application / json”来手动设置标头。

这些示例也不包括URL / IP和端口组合,它们必须是curl e.x的一个参数,例如: 127.0.0.1:8545

JSON-RPC 方法

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_isSyncing","params":[],"id":1}'

// 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"
    ]
}