Not all daemon RPC calls use the JSON_RPC interface. This section gives examples of these calls.
###
The data structure for these calls is different than the JSON RPC calls. Whereas the JSON RPC methods were called using the `/json_rpc` extension and specifying a method, these methods are called at their own extensions. For example:
Note: It is recommended to use JSON RPC where such alternatives exist, rather than the following methods. For example, the recommended way to get a node's height is via the JSON RPC methods [get_info](#get_info) or [getlastblockheader](#getlastblockheader), rather than [getheight](#getheight) below.
### getheight
Get the node's current height.
Inputs: *None*.
Outputs:
**height* - Current length of longest chain known to daemon.
Example 2: Decode returned transaction information in JSON format. Note: the "vout" list has been truncated in the displayed return for space considerations.
Show information about valid transactions seen by the node but not yet mined into a block, as well as spent key image information in the node's memory.
Inputs: *None*.
Outputs:
**spent_key_images* - List of spent output key images:
**id_hash* - Key image ID hash.
**txs_hashes* - Key image transaction hashes.
**status* - General RPC error code. "OK" means everything looks good.
**transactions* - List of transactions in the mempool that have not been included in a block:
**blob_size* - The size of the full transaction blob.
**fee* - The amount of the mining fee included in the transaction, in atomic units.
**id_hash* - The transaction ID hash.
**kept_by_block* - Boolean, we do not accept transactions that timed out before, unless set `true`.
**last_failed_height* - If the transaction has previously timed out, this tells at what height that occured.
**last_failed_id_hash* - Like the previous, this tells the previous transaction ID hash.
**max_used_block_height* - Tells the height of the most recent block with an output used in this transaction.
**max_used_block_hash* - Tells the hash of the most recent block with an output used in this transaction.
**receive_time* - The Unix time that the transaction was first seen on the network by the node.
**tx_json* - JSON structure of all information in the transaction:
**version* - Transaction version
**unlock_time* - If not 0, this tells when a transaction output is spendable.
**vin* - List of inputs into transaction:
**key* - The public key of the previous output spent in this transaction.
**amount* - The amount of the input, in atomic units.
**key_offsets* - A list of integer offets to the input.
**k_image* - The key image for the given input
**vout* - List of outputs from transaction:
**amount* - Amount of transaction output, in atomic units.
**target* - Output destination information:
**key* - The stealth public key of the receiver. Whoever owns the private key associated with this key controls this transaction output.
**extra* - Usually called the "transaction ID" but can be used to include any random 32 bytes.
**signatures* - List of ignatures used in ring signature to hide the true origin of the transaction.
Example (Note: Some lists in the returned information have been truncated for display reasons):