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
Copy
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
Copy
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
Copy
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
Copy
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
Copy
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
Copy
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
Copy
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
Copy
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
Copy
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
Copy
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 andfalse
votes out
Returns
result
: null
-
curl HTTP request
-
JSON result
-
geth console request
-
geth console result
Copy
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
Copy
curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_status","params":[1,10],"id":1}' --header "Content-Type: application/json"```