istanbul

The following API method provide access to the IBFT consensus engine.

istanbul_candidates

Returns the current candidates which the node tries to vote in or out.

Parameters

None

Returns

result: map of strings to booleans - current candidates map

  • curl HTTP request

  • JSON result

  • geth console request

  • geth console result

curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_candidates","id":1}' --header "Content-Type: application/json"

istanbul_discard

Drops a currently running candidate, stopping further votes from being cast either for or against the candidate.

Parameters

address: string - address of the candidate

Returns

result: null

  • curl HTTP request

  • JSON result

  • geth console request

  • geth console result

curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_discard","params":["0xfff7ac99c8e4feb60c9750054bdc14ce1857f181"],"id":1}' --header "Content-Type: application/json"

istanbul_getSignersFromBlock

Retrieves the public addresses whose seals are included in the specified block number. This means that they participated in the consensus for this block and attested to its validity.

Parameters

blockNumber: number - (optional) block number to retrieve; defaults to current block

Returns

result: object - result object with the following fields:

  • number: number - retrieved block's number

  • hash: string - retrieved block's hash

  • author: string - address of the block proposer

  • committers: array of strings - list of all addresses whose seal appears in this block

  • curl HTTP request

  • JSON result

  • geth console request

  • geth console result

curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_getSignersFromBlock","params":[10],"id":1}' --header "Content-Type: application/json"

istanbul_getSignersFromBlockByHash

Retrieves the public addresses whose seals are included in the specified block number. This means that they participated in the consensus for this block and attested to its validity.

Parameters

blockHash: string - hash of the block to retrieve (required)

Returns

result: object - result object with the following fields:

  • number: number - retrieved block's number

  • hash: string - retrieved block's hash

  • author: string - address of the block proposer

  • committers: array of strings - list of all addresses whose seal appears in this block

  • curl HTTP request

  • JSON result

  • geth console request

  • geth console result

curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_getSignersFromBlockByHash","params":["0xfe88c94d860f01a17f961bf4bdfb6e0c6cd10d3fda5cc861e805ca1240c58553"],"id":1}' --header "Content-Type: application/json"

istanbul_getSnapshot

Retrieves the state snapshot at the specified block number.

Parameters

blockNumber: number or string - (optional) integer representing a block number or the string tag latest (the last block mined); defaults to latest

Returns

result: object - snapshot object

  • curl HTTP request

  • JSON result

  • geth console request

  • geth console result

curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_getSnapshot","params":[10],"id":1}' --header "Content-Type: application/json"

istanbul_getSnapshotAtHash

Retrieves the state snapshot at the specified block hash.

Parameters

blockHash: string - block hash

Returns

result: object - snapshot object

  • curl HTTP request

  • JSON result

  • geth console request

  • geth console result

curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_getSnapshotAtHash","params":["0xfe88c94d860f01a17f961bf4bdfb6e0c6cd10d3fda5cc861e805ca1240c58553"],"id":1}' --header "Content-Type: application/json"

istanbul_getValidators

Retrieves the list of authorized validators at the specified block number.

Parameters

blockNumber: number or string - (optional) integer representing a block number or the string tag latest (the last block mined); defaults to latest

Returns

result: array of strings - list of validator addresses

  • curl HTTP request

  • JSON result

  • geth console request

  • geth console result

curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_getValidators","params":[10],"id":1}' --header "Content-Type: application/json"

istanbul_getValidatorsAtHash

Retrieves the list of authorized validators at the specified block hash.

Parameters

blockHash: string - block hash

Returns

result: array of strings - list of validator addresses

  • curl HTTP request

  • JSON result

  • geth console request

  • geth console result

curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_getValidatorsAtHash","params":["0xfe88c94d860f01a17f961bf4bdfb6e0c6cd10d3fda5cc861e805ca1240c58553"],"id":1}' --header "Content-Type: application/json"

istanbul_isValidator

Indicates if this node is the validator for the specified block number.

Parameters

blockNumber: number - (optional) block number; defaults to latest block number

Returns

result: boolean - true if this node is the validator for the given blockNumber, otherwise false

  • curl HTTP request

  • JSON result

  • geth console request

  • geth console result

curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_isValidator","params":[10],"id":1}' --header "Content-Type: application/json"

istanbul_nodeAddress

Retrieves the public address that is used to sign proposals, which is derived from the node's nodekey.

Parameters

None

Returns

result: string - node's public signing address

  • curl HTTP request

  • JSON result

  • geth console request

  • geth console result

curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_nodeAddress","id":1}' --header "Content-Type: application/json"

istanbul_propose

Injects a new authorization candidate that the validator attempts to push through. If a majority of the validators vote the candidate in/out, the candidate is added/removed in the validator set.

Parameters

  • address: string - address of candidate

  • auth: boolean - true votes the candidate in and false votes out

Returns

result: null

  • curl HTTP request

  • JSON result

  • geth console request

  • geth console result

curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_propose","params":["0x9811ebc35d7b06b3fa8dc5809a1f9c52751e1deb",true],"id":1}' --header "Content-Type: application/json"

istanbul_status

Returns the signing status of blocks for the specified block range.

Parameters

  • startBlockNumber: number - start block number

  • endBlockNumber: number - end block number

If the start block and end block numbers are not provided, the status of the last 64 blocks is returned.

Returns

result: object - result object with the following fields:

  • numBlocks: number - number of blocks for which sealer activity is retrieved

  • sealerActivity: map of strings to numbers - key is the validator and value is the number of blocks sealed by the validator

  • curl HTTP request

  • JSON result

  • geth console request

  • geth console result

curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_status","params":[1,10],"id":1}' --header "Content-Type: application/json"

Last updated