Skip to content

Developer Guide - Daemon RPC - Full Update

monero-project requested to merge el00ruobuob:Deamon-RPC_Update into master

Created by: el00ruobuob

Developer Guide - Daemon RPC - Full Update

Status

Reviewed

Description

This PR solves #709 (closed) Actually, the Daemon RPC Developer Guide is outdated. I'm trying to add everything that is actually missing:

  • Review each call
  • Add missing calls
  • Add new inputs/outputs
  • Add descriptions
  • Update examples

Working process

Here is my process for doing this:

  1. Check the RPC calls (JSON first) from the Core RPC Server file.
  2. For each RPC call, look it up in the Command Definition file.
  3. Add missing information to the Developer Guide:
    1. For a new RPC Call, add it in the Guide, at the same position it is in the list from Core RPC Server file.
    2. For an existing Call:
      1. Get the new RPC output example
      2. Add the new inputs/outputs in the same order to the list of outputs
      3. Describe those new inputs/outputs and ammend the existing if it makes sense
  4. Normalize the call name to use the underscored version
  5. Add an Alias info to display the other name
  6. Update the diary below accordingly

Diary

  1. JSON RPC
    • get_block_count: Up to Date
      • Name normalized from getblockcount to get_block_count
    • on_get_block_hash: Up to Date
      • Name normalized from on_getblockhash to on_get_block_hash
    • get_block_template: Update
      • Name normalized from getblocktemplate to get_block_template
      • Summary: Added
      • Inputs: Up to Date
      • Outputs: Updates
        • blocktemplate_blob: Improved - Check description
        • blockhashing_blob: New - Check description
        • untrusted: New - Add description
      • Example : Updated
    • submit_block: Up to Date
      • Name normalized from submitblock to submit_block
    • get_last_block_header: Update
      • Name normalized from getlastblockheader to get_last_block_header
      • Inputs: Up to Date
      • Outputs: Updates
        • block_header: Updates
          • block_size: New - Check description
          • num_txes: New - Check description
        • untrusted: New - Add description
      • Example : Updated
    • get_block_header_by_hash: Update
      • Name normalized from getblockheaderbyhash to get_block_header_by_hash
      • Inputs: Up to Date
      • Outputs: Updates
        • status: Fixed
        • untrusted: New - Add description
      • Example : Updated
    • get_block_header_by_height: Update
      • Name normalized from getblockheaderbyheight to get_block_header_by_height
      • Inputs: Up to Date
      • Outputs: Updates
        • status: Fixed
        • untrusted: New - Add description
      • Example : Updated
    • get_block_headers_range: New
      • Summary: New
      • Inputs: New
        • start_height: New - Check description
        • end_height: New - Check description
      • Outputs: New
        • headers: New - Check description
        • status: New
        • untrusted: New - Add description
      • Example : New
    • get_block: Update
      • Name normalized from getblock to get_block
      • Inputs: Up to Date
      • Outputs: Updates
        • untrusted: New - Add description
      • Example : Updated
    • get_connections: Update
      • Inputs: Up to Date
      • Outputs: Updates
        • connections: Updates
          • address: New - Check description
          • connection_id: New - Check description
          • height: New - Check description
          • host: New - Check description
          • support_flags: New - Add description
      • Example : Updated
    • get_info: Update
      • Inputs: Up to Date
      • Outputs: Updates
        • block_size_limit: New - Check description
        • block_size_median: New - Check description
        • bootstrap_daemon_address: New - Check description
        • cumulative_difficulty: New - Check description
        • free_space: New - Check description
        • height_without_bootstrap: New - Check description
        • mainnet: New - Check description
        • offline: New - Check description
        • rpc_connections_count: New - Check description
        • stagenet: New - Check description
        • start_time: New - Check description
        • testnet: Updated
        • untrusted: New - Add description
        • was_bootstrap_ever_used: New - Add description
      • Example : Updated
    • hard_fork_info: Up to Date
    • set_bans: Update
      • Name normalized from setbans to set_bans
      • Summary: Updated
      • Inputs: Updates
        • host: New - Check description
      • Outputs: Up to Date
      • Example : Updated
    • get_bans: Update
      • Name normalized from getbans to get_bans
      • Summary: Added
      • Inputs: Up to Date
      • Outputs: Updates
        • host: New - Check description
      • Example : Updated
    • flush_txpool: New
      • Summary: New
      • Inputs: New
        • txids: New - Check description
      • Outputs: New
        • status: New
      • Example : New
    • get_output_histogram: New - Help needed
      • Summary: Help needed
      • Inputs: New
        • amounts: New - Add description
        • min_count: New - Add description
        • max_count: New - Add description
        • unlocked: New - Add description
        • recent_cutoff: New - Add description
      • Outputs: New
        • histogram: New - Check description
          • amounts: New - Check description
          • total_instances: New - add description
          • unlocked_instances: New - add description
          • recent_instances: New - add description
        • status: New
        • untrusted: New - Add description
      • Example : New - Check completion
    • get_version: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • status: New
        • untrusted: New - Add description
        • version: New - Add description
      • Example : New
    • get_coinbase_tx_sum: New
      • Summary: New - Check description
      • Inputs: New
        • height: New - Check description
        • count: New - Check description
      • Outputs: New
        • emission_amount: New - Check description
        • fee_amount: New - Check description
        • status: New
      • Example : New
    • get_fee_estimate: New
      • Summary: New - Check description
      • Inputs: New
        • grace_blocks: New - Add description
      • Outputs: New
        • fee: New - Check description
        • status: New
        • untrusted: New - Add description
      • Example : New
    • get_alternate_chains: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • chains: New - Check description
          • block_hash: New - Check description
          • difficulty: New - Check description
          • height: New - Check description
          • length: New - Check description
        • status: New
      • Example : New
    • relay_tx: New
      • Summary: New - Check description
      • Inputs: New
        • txids: New - Check description
      • Outputs: New
        • status: New
      • Example : New
    • sync_info: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • height: New - Check description
        • peers: New - Check description
          • info: New - Check description
        • spans: New - Check description
          • connection_id: New - Check description
          • nblocks: New - Check description
          • rate: New - Check description
          • remote_address: New - Check description
          • size: New - Check description
          • speed: New - Check description
          • start_block_height: New - Check description
        • status: New - Check description
        • target_height: New - Check description
      • Example : New
    • get_txpool_backlog: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • backlog: New - Add description
          • blob_size: New - Add description
          • fee: New - Add description
          • time_in_pool: New - Add description
        • status: New
        • untrusted: New - Add description
      • Example : New
    • get_output_distribution: New
      • Summary: New - Add description
      • Inputs: New
        • amounts: New - Check description
        • cumulative: New - Check description
        • from_height: New - Check description
        • to_height: New - Check description
      • Outputs: New
        • distributions: New - Check description
          • amount: New - Add description
          • base: New - Add description
          • distribution: New - Add description
          • start_height: New - Add description
        • status: New
      • Example : New
  2. Legacy RPC
    • /get_height: Update
      • Name normalized from /get_height to /get_height
      • Inputs: Up to Date
      • Outputs: Updates
        • status: Fixed
        • untrusted: New - Add description
      • Example : Updated
    • /get_blocks.bin: New
      • Summary: New - Check description
      • Inputs: New
        • block_ids: New - Check description
        • start_height: New - Add description
        • prune: New - Add description
      • Outputs: New
        • blocks: New - Add description
        • current_height: New - Add description
        • output_indices: New - Check description
          • indices: New - Check description
            • current_height: New - Add description
        • start_height: New - Add description
        • status: New
        • untrusted: New - Add description
      • Example : None - Binary Call
    • /get_blocks_by_height.bin: New
      • Summary: New - Check description
      • Inputs: New
        • heights: New - Check description
      • Outputs: New
        • blocks: New - Add description
        • status: New
        • untrusted: New - Add description
      • Example : None - Binary Call
    • /get_hashes.bin: New
      • Summary: New - Check description
      • Inputs: New
        • block_ids: New - Check description
        • heights: New - Check description
      • Outputs: New
        • current_height: New - Add description
        • m_block_ids: New - Check description
        • start_height: New - Add description
        • status: New
        • untrusted: New - Add description
      • Example : None - Binary Call
    • /get_o_indexes.bin: New
      • Summary: New - Check description
      • Inputs: New
        • txid: New - Add description
      • Outputs: New
        • o_indexes: New - Check description
        • status: New
        • untrusted: New - Add description
      • Example : None - Binary Call
    • /get_random_outs.bin: New
      • Summary: New - Check description
      • Inputs: New
        • amounts: New - Check description
        • outs_count: New - Check description
      • Outputs: New
        • outs: New - Check description
          • amount: New - Add description
          • outs: New - Check description
            • global_amount_index: New - Add description
            • out_key: New - Add description
        • status: New
        • untrusted: New - Add description
      • Example : None - Binary Call
    • /get_outs.bin: New
      • Summary: New - Check description
      • Inputs: New
        • outputs: New - Check description
          • amount: New - Add description
          • index: New - Add description
      • Outputs: New
        • outs: New - Check description
          • amount: New - Add escription
          • height: New - Check description
          • key: New - Check description
          • mask: New - Add description
          • txid: New - Check description
          • unlocked: New - Check description
        • status: New
        • untrusted: New - Add description
      • Example : None - Binary Call
    • /get_random_rctouts.bin: New
      • Summary: New - Check description
      • Inputs: New
        • outs_count: New - Check description
          • amount: New - Add description
          • index: New - Add description
      • Outputs: New
        • outs: New - Check description
          • amount: New - Add escription
          • commitment: New - Add description
          • global_amount_index: New - Add description
          • out_key: New - Add description
        • status: New
        • untrusted: New - Add description
      • Example : None - Binary Call
    • /get_transactions: Update
      • Name normalized from /gettransactions/get_transactions_
      • Summary: Up to Date
      • Inputs: Updates
        • decode_as_json: Improved - Check description
        • prune: New - Add description
      • Outputs: Updates
        • missed_tx: New - Check description
        • status: New
        • txs: New - Check description
          • as_hex: New - Check description
          • as_json: New - Check description
            • version: Moved
            • unlock_time: Moved
            • vin: Moved
              • key: Moved
                • amount: Moved
                • key_offsets: Moved
                • k_image: Moved
            • vout: Moved
              • amount: Moved
              • target: Moved
                • key: Moved
            • extra: Moved
            • signatures: Moved
          • block_height: New - Check description
          • block_timestamp: New - Check description
          • double_spend_seen: New - Check description
          • in_pool: New - Check description
          • output_indices: New - Check description
          • tx_hash: New - Check description
        • txs_as_hex: Improved - Check description
        • txs_as_json: Improved - Check description
      • Example : Updated
    • /get_alt_blocks_hashes: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • blks_hashes: New - Check description
        • status: New
        • untrusted: New - Add description
      • Example : New
    • /is_key_image_spent: Updates
      • Inputs: Up to Date
      • Outputs: Updates
        • untrusted: New - Add description
      • Example : Updated
    • /send_raw_transaction: Updates
      • Name normalized from sendrawtransaction to send_raw_transaction
      • Inputs: Up to Date
      • Outputs: Updates
        • untrusted: New - Add description
      • Example : Up to Date
    • /start_mining: New
      • Summary: New - Check description
      • Inputs: New
        • do_background_mining: New - Check description
        • ignore_battery: New - Check description
        • miner_address: New - Check description
        • threads_count: New - Check description
      • Outputs: New
        • status: New
      • Example : New
    • /stop_mining: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • status: New
      • Example : New
    • /mining_status: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • active: New - Check description
        • address: New - Check description
        • is_background_mining_enabled: New - Check description
        • speed: New - Check description
        • status: New
        • threads_count: New - Check description
      • Example : New
    • /save_bc: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • status: New
      • Example : New
    • /get_peer_list: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • gray_list: New - Check description
          • host: New - Check description
          • id: New - Check description
          • ip: New - Check description
          • last_seen: New - Check description
          • port: New - Check description
        • status: New
        • white_list: New - Check description
      • Example : New
    • /set_log_hash_rate: New
      • Summary: New - Check description
      • Inputs: New
        • visible: New
      • Outputs: New
        • status: New
      • Example : New
    • /set_log_level: New
      • Summary: New - Check description
      • Inputs: New
        • level: New
      • Outputs: New
        • status: New
      • Example : New
    • /set_log_categories: New
      • Summary: New - Check description
      • Inputs: New
        • categories: New
      • Outputs: New
        • categories: New
        • status: New
      • Example : New
    • /get_transaction_pool: Updates
      • Inputs: Up to Date
      • Outputs: Updates
        • double_spend_seen: New - Check description
        • do_not_relay: New - Check description
        • last_relayed_time: New - Check description
        • relayed: New - Check description
        • tx_blob: New - Check description
        • tx_json: Updated
          • rct_signatures: New - Check description and structure
          • rctsig_prunable: New - Check description and structure
      • Example : Updated
    • /get_transaction_pool_hashes.bin: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • status: New
        • tx_hashes: New - Check description
        • untrusted: New - Add description
      • Example : New
    • /get_transaction_pool_stats: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • pool_stats: New - Check description
          • bytes_max: New - Check description
          • bytes_med: New - Check description
          • bytes_min: New - Check description
          • bytes_total: New - Check description
          • histo: New - Check description
            • txs: New - Check description
            • bytes: New - Check description
          • histo_98pc: New - Check description
          • num_10m: New - Check description
          • num_double_spends: New - Check description
          • num_failing: New - Check description
          • num_not_relayed: New - Check description
          • oldest: New - Check description
          • txs_total: New - Check description
        • status: New
        • untrusted: New - Add description
      • Example : New
    • /stop_daemon: Up to Date
    • /get_info: New
    • /get_limit: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • limit_down: New - Check description
        • limit_up: New - Check description
        • status: New
        • untrusted: New - Add description
      • Example : New
    • /set_limit: New
      • Summary: New - Check description
      • Inputs: New
        • limit_down: New - Check description
        • limit_up: New - Check description
      • Outputs: New
        • limit_down: New - Check description
        • limit_up: New - Check description
        • status: New
      • Example : New
    • /out_peers: New
      • Summary: New - Check description
      • Inputs: New
        • out_peers: New - Check description
      • Outputs: New
        • status: New
      • Example : New
    • /in_peers: New
      • Summary: New - Check description
      • Inputs: New
        • in_peers: New - Check description
      • Outputs: New
        • status: New
      • Example : New
    • /start_save_graph: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • status: New
      • Example : New
    • /stop_save_graph: New
      • Summary: New - Check description
      • Inputs: New
      • Outputs: New
        • status: New
      • Example : New
    • /get_outs: New
      • Summary: New - Check description
      • Inputs: New
        • outputs: New - Check description
          • amount: New - Add description
          • index: New - Add description
      • Outputs: New
        • outs: New - Check description
          • height: New - Check description
          • key: New - Check description
          • mask: New - Add description
          • txid: New - Check description
          • unlocked: New - Check description
        • status: New
        • untrusted: New - Add description
      • Example : None - Add one
    • /update: New
      • Summary: New - Check description
      • Inputs: New
        • command: New - Check description
        • path: New - Check description
      • Outputs: New
        • auto_uri: New - Add description
        • hash: New - Add description
        • path: New - Check description
        • status: New
        • update: New - Check description
        • user_uri: New - Add description
        • version: New - Check description
      • Example : New

How to help

Please Help by looking at the work done, in order for me to change the into , for improved, new or updated calls:

  • Check the added or improved Summary
  • Add Summary when i failed to
  • Check the improved or new Descriptions
  • Add new Description when i failed to

Merge request reports