JSON RPC API 索引
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"
]
}