You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
block_headers. This method will return a block_header AND block_headers if the request only provided a hashes. The block_header struct is a bunch of default values (0, "", false).
difficulty field is noted as unsigned int, although it is actually a JSON string containing an unsigned int in hex form. Other documentation describes these hex int strings as string.
Type used to describe block_data is blobdata. This is a monerod-specific type alias to std::string. Documentation should explain that it is a hex-encoded string of a block.
Documentation states for tx_hashes field: "If there are no other transactions, this will be an empty list." This is not true, monerod's serializer will omit fields completely if the container is empty
Unoptimal behavior
These endpoints/types are set-up in an unoptimal way for seemingly no benefit.
Unnecessarily nested field: peers. The peers struct just contains a single connection_info field, this causes the JSON output to be an array of maps containing "info": {/* connection_info */} instead of just an array of connection_infos
Undocumented behavior
These endpoints have undocumented behavior in certain situations.
Undocumented behavior with mixed fields: height, hash. If both fields are provided, monerod will always pick hash, if an empty hash is provided, the genesis block is returned since the height gets set to the default 0
The text was updated successfully, but these errors were encountered:
This issue will keep track of problems with
monerod
RPC routes/types.Undocumented endpoint
These endpoints exist in code but are not documented on the website.
/get_transaction_pool_hashes
/get_transaction_pool_hashes.bin
but it returnstx_hashes
as a JSON array instead of binary/get_public_nodes
/get_output_distribution.bin
/json_rpc
'sget_output_distribution
/get_txids_loose
Unused endpoint/type
These endpoints/types exist in code but are not actively used.
COMMAND_RPC_SUBMIT_RAW_TX
COMMAND_RPC_FAST_EXIT
/fast_exit
endpoint/start_save_graph
/stop_save_graph
Undocumented request fields
These endpoints have request fields that are missing on the website.
get_block_header_by_hash
hashes
hard_fork_info
version
. This field lets you specify which hardfork info to retrieveget_output_distribution
binary
,compress
,top_hash
,credits
get_output_distribution
struct output_distribution
:cumulative
/get_blocks.bin
requested_info
,no_miner_tx
,pool_info_since
/send_raw_transaction
do_sanity_checks
/get_peer_list
public_only
,include_blocked
/out_peers
set
Undocumented response fields
These endpoints have response fields that are missing on the website.
get_block_header_by_hash
block_headers
. This method will return ablock_header
ANDblock_headers
if the request only provided ahashes
. Theblock_header
struct is a bunch of default values (0
, "", false).get_block_header_by_height
top_hash
,credits
get_connections
struct connection_info
:address_type
,ssl
,rpc_port
,rpc_credits_per_hash
,pruning_seed
set_bans
untrusted
get_version
current_height
,hard_forks
,target_height
sync_info
untrusted
get_txpool_backlog
blob_size
->weight
get_output_distribution
top_hash
,credits
add_aux_pow
status
,untrusted
/get_blocks.bin
daemon_time
,credits
,top_hash
/get_blocks_by_height.bin
credits
,top_hash
/get_hashes_fast.bin
credits
,top_hash
/get_o_indexes.bin
credits
,top_hash
/get_transactions
credits
,confirmations
/send_raw_transaction
nonzero_unlock_time
,sanity_check_failed
,too_few_outputs
,tx_extra_too_big
/get_peer_list
untrusted
/stop_daemon
untrusted
submit_block
block_id
,status
,untrusted
Incorrect documentation
These endpoints have incorrect documentation on the website. These range from nitpicks to truely incorrect documentation.
get_miner_data
18082
for RPC portget_miner_data
difficulty
field is noted asunsigned int
, although it is actually a JSON string containing an unsigned int in hex form. Other documentation describes these hex int strings asstring
.calc_pow
block_data
isblobdata
. This is amonerod
-specific type alias tostd::string
. Documentation should explain that it is a hex-encoded string of a block.flush_cache
curl
command and output in exampleadd_aux_pow
curl
command and output in example, extra'
at the end ofcurl
command/get_outs.bin
amount
/get_alt_blocks_hashes
blks_hashes
should be marked as optional as an emptystd::vec
will not generate a JSON field/send_raw_transaction
not_rct
/mining_status
int
instead ofunsigned int
. These areunsigned int
both in code and elsewhere in documentation./get_transaction_pool
weight
field, should beunsigned int; <DESCRIPTION>
submit_block
}
in exampleget_block_template
}
in examplegenerateblocks
}
in exampleflush_txpool
""
transaction in example causes errorget_block
tx_hashes
field: "If there are no other transactions, this will be an empty list." This is not true,monerod
's serializer will omit fields completely if the container is emptyUnoptimal behavior
These endpoints/types are set-up in an unoptimal way for seemingly no benefit.
sync_info
peers
. Thepeers
struct just contains a singleconnection_info
field, this causes the JSON output to be an array of maps containing"info": {/* connection_info */}
instead of just an array ofconnection_info
sUndocumented behavior
These endpoints have undocumented behavior in certain situations.
get_block
height
,hash
. If both fields are provided,monerod
will always pickhash
, if an emptyhash
is provided, the genesis block is returned since theheight
gets set to the default0
The text was updated successfully, but these errors were encountered: