HAPI currently provides 2 types of endpoints: JSON-RPC and gRPC. The JSON-RPC endpoints expose some layer 1 information while the gRPC endpoints support layer 2 as well as streaming of events related to blocks and transactions/transitions.
Layer | Endpoint | Description |
---|---|---|
1 | getBestBlockHash |
Returns block hash of the chaintip |
1 | getBlockHash |
Returns block hash of the requested block |
1 | getMnListDiff |
Returns masternode list diff for the provided block hashes |
Layer | Endpoint | |
---|---|---|
1 | broadcastTransaction |
Broadcasts the provided transaction |
1 | getBlock |
Returns information for the requested block |
1 | getStatus |
Returns blockchain status information |
1 | getTransaction |
Returns details for the requested transaction |
1 | subscribeTo BlockHeadersWithChainLocks |
Returns the requested block headers along with the associated ChainLocks. |
1 | subscribeTo TransactionsWithProofs |
Returns transactions matching the provided bloom filter along with the associated islock message and merkle block |
In addition to providing the request data, the following endpoints can also provide proofs that the data returned is valid and complete. The endpoints are versioned so updates can be made to them without introducing issues for endpoint consumers.
Layer | Endpoint | |
---|---|---|
2 | broadcastStateTransition |
Broadcasts the provided State Transition |
2 | getIdentity |
Returns the requested identity |
2 | getIdentityBalance |
Returns the requested identity’s balance |
2 | getIdentityBalanceAndRevision |
Returns the requested identity’s balance and revision |
2 | getIdentityByPublicKeyHash |
Returns the identity associated with the provided public key hash |
2 | getIdentityKeys |
Returns the requested identity keys |
2 | getIdentities |
Returns the requested identities |
2 | getIdentitiesByPublicKeyHashes |
Returns the identities associated with the provided public key hashes |
2 | getDataContract |
Returns the requested data contract |
2 | getDataContracts |
Returns the requested data contracts |
2 | getDataContractHistory |
Returns the requested data contract history |
2 | getDocuments |
Returns the requested document(s) |
2 | getEpochsInfo |
Returns information about the requested epoch(s) |
2 | getProofs |
Returns proof information for the requested identities, contracts, and/or document(s) |
2 | getProtocolVersionUpgradeState |
Returns the number of votes cast for each protocol version |
2 | getProtocolVersionUpgradeVoteStatus |
Returns protocol version upgrade status |
2 | waitForStateTransitionResult |
Responds with the state transition hash and either a proof that the state transition was confirmed in a block or an error |