Developer Resources
Block ExplorerGitHubRun a NodeMigration GuideETN Testnet Faucet
  • Overview
  • Foundational topics
    • Intro to the Electroneum Smart Chain
    • Intro to ETN
    • Intro to dapps
    • Web2 vs Web3
    • Accounts
    • Transactions
    • Blocks
    • Electroneum Virtual Machine (EVM)
      • Opcodes
    • Gas and Fees
    • Nodes and clients
    • Networks
    • Consensus mechanisms
      • IBFT
  • Electroneum Stack
    • Intro to the stack
    • Smart contracts
    • Development networks
    • Development frameworks
    • Electroneum client APIs
      • JavaScript APIs
      • JSON-RPC
    • Storage
    • Integrated Development Environments (IDEs)
    • Metamask
    • Rabby Wallet
    • Trust Wallet
  • Advanced
    • Bridges
    • Standards
      • Token standards
        • ERC-20 Fungible Tokens
        • ERC-721 NFTs
    • Oracles
    • Networking layer
      • Network addresses
    • Data structures and encoding
      • Patricia Merkle Trie
      • Recursive-length prefix (RLP)
      • Web3 secret storage definition
  • Design fundamentals
    • Intro to design and UX
  • ETN-SC Client
    • Getting started
      • Introduction
      • Hardware requirements
      • Instaling ETN-SC
    • Fundamentals
      • Command-line options
      • Security
      • Sync-modes
      • Account management
      • Databases
      • Backup & restore
      • Logs
      • Connecting to peers
      • Pruning
      • Private networks
      • Config files
      • Light client
    • Interacting with ETN-SC
      • JSON-RPC Server
        • Batch requests
        • Real-time events
      • JSON-RPC Namespaces
        • admin
        • clique
        • debug
        • eth
        • istanbul
        • les
        • miner
        • net
        • personal
        • txpool
      • JS Console
      • JS Console 2: Contracts
      • GraphQL Server
    • Developers
      • Introduction
      • Dapp developers
        • Dev mode
        • Go API
        • Go Account Management
        • Go Contract Bindings
      • EVM tracing
        • Introduction
        • Basic traces
        • Built-in tracers
        • Custom EVM tracer
        • Tutorial for JavaScript tracing
      • ETN-SC developer
        • Developer guide
        • Disclosures
        • DNS discovery setup guide
        • Code review guidelines
      • Contributing
    • Monitoring
      • Creating Dashboards
      • Understanding Dashboards
      • Ethstats
      • Metrics
    • Tools
      • Clef
        • Introduction
        • APIs
        • Rules
        • Setup
        • Datatypes
        • Tutorial
        • Clique-signing
      • abigen
      • devp2p
    • FAQs
  • Migration to Smart Chain
    • Overview
    • How to Migrate
      • ETN Online Wallets
      • Paper Wallets
      • CLI Wallet Users
      • Exchange Holders
      • Exchanges
    • Bridge Smart Contract
  • Misc. Guides
    • Set up Ledger + Metamask
  • MY.ELECTRONEUM.COM
    • Vendor API
Powered by GitBook
On this page

Was this helpful?

  1. ETN-SC Client
  2. Interacting with ETN-SC
  3. JSON-RPC Namespaces

istanbul

PreviousethNextles

Last updated 12 months ago

Was this helpful?

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"

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.

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

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"

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.

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

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"

Retrieves the state snapshot at the specified block number.

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

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"

Retrieves the state snapshot at the specified block hash.

blockHash: string - block hash

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"

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

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

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"

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

blockHash: string - block hash

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"

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

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

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"

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

None

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"

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.

  • address: string - address of candidate

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

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"

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

  • 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.

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"

istanbul_getSignersFromBlock

Parameters

Returns

istanbul_getSignersFromBlockByHash

Parameters

Returns

istanbul_getSnapshot

Parameters

Returns

istanbul_getSnapshotAtHash

Parameters

Returns

istanbul_getValidators

Parameters

Returns

istanbul_getValidatorsAtHash

Parameters

Returns

istanbul_isValidator

Parameters

Returns

istanbul_nodeAddress

Parameters

Returns

istanbul_propose

Parameters

Returns

istanbul_status

Parameters

Returns

​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​