monero-c
C ABI for using Monero
Loading...
Searching...
No Matches
monero_c_daemon.h
Go to the documentation of this file.
1
23#ifndef MONERO_C_DAEMON_H
24#define MONERO_C_DAEMON_H
25
28
29#include <stddef.h>
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35// ------------------------------ DAEMON RPC ----------------------------------
36// each function wraps the monero_daemon method of the same name (monero-cpp's
37// monero_daemon interface). Results are JSON in monero-cpp's serializable_struct
38// format unless the parameter says otherwise. A JSON argument can't nest deeper than
39// 64 levels. On error, string and array outputs are set to NULL (counts to 0) and scalar
40// outputs are left unchanged. The thread safety rules are documented on monero_daemon and
41// monero_daemon_listener
42
54
64
74typedef void (*monero_daemon_on_block_header_fn)(void* user_data, const char* header_json);
75
83
92
93// ------------------------------ CONNECTION ----------------------------------
94
108MONERO_EXPORT monero_result monero_daemon_connect(const char* uri, const char* username, const char* password, const char* proxy_uri, uint32_t timeout_ms, monero_daemon** out_daemon);
109
120
127
136
145
146// -------------------------------- LISTENERS ---------------------------------
147
156
164
174
183
193
201
202// ---------------------------------- GENERAL ---------------------------------
203
212
221
230
240
249
258
267
276
285
294
295// ---------------------------------- MINING ----------------------------------
296
306MONERO_EXPORT monero_result monero_daemon_get_block_template(monero_daemon* daemon, const char* wallet_address, const int32_t* reserve_size, char** out_json);
307
316
328MONERO_EXPORT monero_result monero_daemon_calculate_pow(monero_daemon* daemon, uint32_t major_version, uint64_t height, const char* block_blob, const char* seed_hash, char** out_pow_hash);
329
340MONERO_EXPORT monero_result monero_daemon_add_auxiliary_pow(monero_daemon* daemon, const char* block_template_blob, const char* aux_pow_json, char** out_json);
341
350
361MONERO_EXPORT monero_result monero_daemon_start_mining(monero_daemon* daemon, const char* address, const uint64_t* num_threads, const bool* is_background, const bool* ignore_battery);
362
370
382MONERO_EXPORT monero_result monero_daemon_generate_blocks(monero_daemon* daemon, const char* wallet_address, uint64_t num_blocks, const char* prev_block_hash, const uint32_t* starting_nonce, char** out_json);
383
392
401MONERO_EXPORT monero_result monero_daemon_submit_blocks(monero_daemon* daemon, const char* const* block_blobs, size_t num_block_blobs);
402
403// ----------------------------------- BLOCKS ---------------------------------
404
413
422MONERO_EXPORT monero_result monero_daemon_get_block_header_by_hash(monero_daemon* daemon, const char* block_hash, char** out_json);
423
433
443MONERO_EXPORT monero_result monero_daemon_get_block_headers_by_range(monero_daemon* daemon, uint64_t start_height, uint64_t end_height, char** out_json);
444
453MONERO_EXPORT monero_result monero_daemon_get_block_by_hash(monero_daemon* daemon, const char* block_hash, char** out_json);
454
468MONERO_EXPORT monero_result monero_daemon_get_blocks_by_hash(monero_daemon* daemon, const char* const* block_hashes, size_t num_block_hashes, uint64_t start_height, bool prune, uint64_t max_block_count, char** out_json);
469
479
489MONERO_EXPORT monero_result monero_daemon_get_blocks_by_height(monero_daemon* daemon, const uint64_t* heights, size_t num_heights, char** out_json);
490
501MONERO_EXPORT monero_result monero_daemon_get_blocks_by_range(monero_daemon* daemon, const uint64_t* start_height, const uint64_t* end_height, char** out_json);
502
513MONERO_EXPORT monero_result monero_daemon_get_blocks_by_range_chunked(monero_daemon* daemon, const uint64_t* start_height, const uint64_t* end_height, const uint64_t* max_chunk_size, char** out_json);
514
524MONERO_EXPORT monero_result monero_daemon_get_block_hashes(monero_daemon* daemon, const char* const* block_hashes, size_t num_block_hashes, char** out_json);
525
535
536// ---------------------------- TRANSACTIONS ----------------------------------
537
548MONERO_EXPORT monero_result monero_daemon_get_tx(monero_daemon* daemon, const char* tx_hash, bool prune, char** out_json);
549
563MONERO_EXPORT monero_result monero_daemon_get_txs(monero_daemon* daemon, const char* const* tx_hashes, size_t num_tx_hashes, bool prune, char** out_json);
564
574MONERO_EXPORT monero_result monero_daemon_get_tx_hex(monero_daemon* daemon, const char* tx_hash, bool prune, char** out_tx_hex);
575
586MONERO_EXPORT monero_result monero_daemon_get_tx_hexes(monero_daemon* daemon, const char* const* tx_hashes, size_t num_tx_hashes, bool prune, char** out_json);
587
597MONERO_EXPORT monero_result monero_daemon_get_miner_tx_sum(monero_daemon* daemon, uint64_t height, uint64_t num_blocks, char** out_json);
598
607MONERO_EXPORT monero_result monero_daemon_get_fee_estimate(monero_daemon* daemon, uint64_t grace_blocks, char** out_json);
608
618MONERO_EXPORT monero_result monero_daemon_submit_tx_hex(monero_daemon* daemon, const char* tx_hex, bool do_not_relay, char** out_json);
619
628
637MONERO_EXPORT monero_result monero_daemon_relay_txs_by_hash(monero_daemon* daemon, const char* const* tx_hashes, size_t num_tx_hashes);
638
639// ------------------------------- TX POOL ------------------------------------
640
650
659
668
677
685
694MONERO_EXPORT monero_result monero_daemon_flush_tx_pool_hashes(monero_daemon* daemon, const char* const* tx_hashes, size_t num_tx_hashes);
695
704
705// --------------------------- KEY IMAGES AND OUTPUTS -------------------------
706
716
727MONERO_EXPORT monero_result monero_daemon_get_key_image_spent_statuses(monero_daemon* daemon, const char* const* key_images, size_t num_key_images, monero_key_image_spent_status** out_statuses, size_t* out_count);
728
738MONERO_EXPORT monero_result monero_daemon_get_output_indices(monero_daemon* daemon, const char* tx_hash, uint64_t** out_indices, size_t* out_count);
739
748MONERO_EXPORT monero_result monero_daemon_get_outputs(monero_daemon* daemon, const char* outputs_json, char** out_json);
749
764MONERO_EXPORT monero_result monero_daemon_get_output_histogram(monero_daemon* daemon, const uint64_t* amounts, size_t num_amounts, const int32_t* min_count, const int32_t* max_count, const bool* is_unlocked, const int32_t* recent_cutoff, char** out_json);
765
778MONERO_EXPORT monero_result monero_daemon_get_output_distribution(monero_daemon* daemon, const uint64_t* amounts, size_t num_amounts, const bool* is_cumulative, const uint64_t* start_height, const uint64_t* end_height, char** out_json);
779
780// ------------------------------- BANDWIDTH ----------------------------------
781
790
800
809
818
828
837
838// ---------------------------------- PEERS -----------------------------------
839
848
857
866MONERO_EXPORT monero_result monero_daemon_get_public_peers(monero_daemon* daemon, bool include_offline, char** out_json);
867
876
885
894
903
912
921MONERO_EXPORT monero_result monero_daemon_get_peer_ban(monero_daemon* daemon, const char* address, char** out_json);
922
923// ---------------------------------- ADMIN -----------------------------------
924
934
942
951MONERO_EXPORT monero_result monero_daemon_pop_blocks(monero_daemon* daemon, uint64_t num_blocks, uint64_t* out_height);
952
961
972MONERO_EXPORT monero_result monero_daemon_set_bootstrap_daemon(monero_daemon* daemon, const char* address, const char* username, const char* password, const char* proxy);
973
981
991
1000
1009MONERO_EXPORT monero_result monero_daemon_set_log_categories(monero_daemon* daemon, const char* categories, char** out_categories);
1010
1019
1029
1037
1038#ifdef __cplusplus
1039}
1040#endif
1041
1042#endif // MONERO_C_DAEMON_H
MONERO_EXPORT monero_result monero_daemon_set_log_level(monero_daemon *daemon, int32_t level)
Set the daemon's log level.
MONERO_EXPORT monero_result monero_daemon_get_output_indices(monero_daemon *daemon, const char *tx_hash, uint64_t **out_indices, size_t *out_count)
Get the global output index of each output in a transaction.
MONERO_EXPORT monero_result monero_daemon_get_tx_hex(monero_daemon *daemon, const char *tx_hash, bool prune, char **out_tx_hex)
Get a transaction's hex by its hash.
MONERO_EXPORT monero_result monero_daemon_get_hard_fork_info(monero_daemon *daemon, char **out_json)
Look up information regarding hard fork voting and readiness.
MONERO_EXPORT monero_result monero_daemon_get_upload_limit(monero_daemon *daemon, int32_t *out_limit)
Get the upload bandwidth limit.
MONERO_EXPORT void monero_daemon_free(monero_daemon *daemon)
Release a handle returned by monero_daemon_connect().
MONERO_EXPORT monero_result monero_daemon_get_alt_chains(monero_daemon *daemon, char **out_json)
Get the alternative chains seen by the node.
MONERO_EXPORT monero_result monero_daemon_get_blocks_by_range_chunked(monero_daemon *daemon, const uint64_t *start_height, const uint64_t *end_height, const uint64_t *max_chunk_size, char **out_json)
Get blocks in the given height range, in chunked requests.
MONERO_EXPORT monero_result monero_daemon_get_block_header_by_height(monero_daemon *daemon, uint64_t height, char **out_json)
Get a block header by its height.
MONERO_EXPORT monero_result monero_daemon_reset_upload_limit(monero_daemon *daemon, int32_t *out_limit)
Reset the upload bandwidth limit to the default.
MONERO_EXPORT monero_result monero_daemon_flush_cache(monero_daemon *daemon, bool bad_blocks)
Flush the daemon's invalid block and transaction caches.
MONERO_EXPORT monero_result monero_daemon_connect(const char *uri, const char *username, const char *password, const char *proxy_uri, uint32_t timeout_ms, monero_daemon **out_daemon)
Create a daemon RPC client and checks the connection, which can take a while if the daemon is slow to...
MONERO_EXPORT monero_result monero_daemon_get_public_peers(monero_daemon *daemon, bool include_offline, char **out_json)
Get the public nodes known to the daemon.
MONERO_EXPORT monero_result monero_daemon_get_tx_pool_stats(monero_daemon *daemon, char **out_json)
Get statistics about the transaction pool.
MONERO_EXPORT monero_result monero_daemon_flush_tx_pool(monero_daemon *daemon)
Flush all transactions from the transaction pool.
MONERO_EXPORT monero_result monero_daemon_get_height(monero_daemon *daemon, uint64_t *out_height)
Get the number of blocks in the longest chain known to the node.
MONERO_EXPORT monero_result monero_daemon_get_outputs(monero_daemon *daemon, const char *outputs_json, char **out_json)
Get outputs identified by amount and index.
monero_key_image_spent_status
Spent status of a key image.
Definition monero_c_daemon.h:87
@ MONERO_KEY_IMAGE_TX_POOL
Definition monero_c_daemon.h:90
@ MONERO_KEY_IMAGE_CONFIRMED
Definition monero_c_daemon.h:89
@ MONERO_KEY_IMAGE_NOT_SPENT
Definition monero_c_daemon.h:88
MONERO_EXPORT monero_result monero_daemon_get_network_stats(monero_daemon *daemon, char **out_json)
Get network (bandwidth) statistics since the daemon started.
MONERO_EXPORT monero_result monero_daemon_get_block_hash(monero_daemon *daemon, uint64_t height, char **out_hash)
Get a block's hash by its height.
MONERO_EXPORT monero_result monero_daemon_get_sync_info(monero_daemon *daemon, char **out_json)
Get synchronization information.
MONERO_EXPORT monero_result monero_daemon_get_txs(monero_daemon *daemon, const char *const *tx_hashes, size_t num_tx_hashes, bool prune, char **out_json)
Get transactions by their hashes.
MONERO_EXPORT monero_result monero_daemon_get_known_peers(monero_daemon *daemon, char **out_json)
Get all known peers, including their last known online status.
MONERO_EXPORT monero_result monero_daemon_relay_tx_by_hash(monero_daemon *daemon, const char *tx_hash)
Relay a transaction by its hash.
MONERO_EXPORT monero_result monero_daemon_set_incoming_peer_limit(monero_daemon *daemon, int32_t limit)
Limits the number of incoming peers.
MONERO_EXPORT monero_result monero_daemon_get_rpc_connection(monero_daemon *daemon, char **out_json)
Get the connection to the daemon.
MONERO_EXPORT monero_result monero_daemon_flush_tx_pool_hash(monero_daemon *daemon, const char *tx_hash)
Flush a single transaction from the transaction pool.
MONERO_EXPORT monero_result monero_daemon_get_blocks_by_range(monero_daemon *daemon, const uint64_t *start_height, const uint64_t *end_height, char **out_json)
Get blocks in the given height range.
MONERO_EXPORT monero_result monero_daemon_stop_mining(monero_daemon *daemon)
Stop mining.
MONERO_EXPORT monero_result monero_daemon_set_bootstrap_daemon(monero_daemon *daemon, const char *address, const char *username, const char *password, const char *proxy)
Set the bootstrap daemon the node uses to serve requests while it is not fully synced.
MONERO_EXPORT monero_result monero_daemon_get_last_block_header(monero_daemon *daemon, char **out_json)
Get the header of the last block.
MONERO_EXPORT monero_result monero_daemon_set_log_categories(monero_daemon *daemon, const char *categories, char **out_categories)
Set the daemon's log categories, e.g.
MONERO_EXPORT monero_result monero_daemon_set_log_hash_rate(monero_daemon *daemon, bool is_visible)
Show or hide the mining hash rate in the daemon's console log.
MONERO_EXPORT monero_result monero_daemon_get_block_header_by_hash(monero_daemon *daemon, const char *block_hash, char **out_json)
Get a block header by its hash.
MONERO_EXPORT monero_result monero_daemon_get_listeners(monero_daemon *daemon, monero_daemon_listener ***out_listeners, size_t *out_count)
Get the listeners registered with the daemon.
MONERO_EXPORT monero_result monero_daemon_get_block_template(monero_daemon *daemon, const char *wallet_address, const int32_t *reserve_size, char **out_json)
Get a block template for mining a new block.
MONERO_EXPORT monero_result monero_daemon_get_block_headers_by_range(monero_daemon *daemon, uint64_t start_height, uint64_t end_height, char **out_json)
Get block headers in the given height range.
MONERO_EXPORT monero_result monero_daemon_remove_bootstrap_daemon(monero_daemon *daemon)
Disables the bootstrap daemon, so the node no longer falls back to it.
MONERO_EXPORT monero_result monero_daemon_get_peer_ban(monero_daemon *daemon, const char *address, char **out_json)
Get the ban status of a peer node.
MONERO_EXPORT monero_result monero_daemon_generate_blocks(monero_daemon *daemon, const char *wallet_address, uint64_t num_blocks, const char *prev_block_hash, const uint32_t *starting_nonce, char **out_json)
Generate blocks to a wallet address.
MONERO_EXPORT monero_result monero_daemon_remove_listener(monero_daemon *daemon, monero_daemon_listener *listener)
Unregister a listener.
MONERO_EXPORT monero_result monero_daemon_get_block_by_hash(monero_daemon *daemon, const char *block_hash, char **out_json)
Get a block by its hash.
MONERO_EXPORT monero_result monero_daemon_submit_blocks(monero_daemon *daemon, const char *const *block_blobs, size_t num_block_blobs)
Submit mined blocks to the network.
MONERO_EXPORT monero_result monero_daemon_get_version(monero_daemon *daemon, char **out_json)
Get the daemon's version.
MONERO_EXPORT monero_result monero_daemon_get_tx_pool(monero_daemon *daemon, char **out_json)
Get the valid transactions seen by the node but not yet mined into a block.
MONERO_EXPORT monero_result monero_daemon_set_peer_ban(monero_daemon *daemon, const char *ban_json)
Bans a peer node.
MONERO_EXPORT monero_result monero_daemon_get_mining_status(monero_daemon *daemon, char **out_json)
Get the daemon's mining status.
MONERO_EXPORT monero_result monero_daemon_connect_with(monero_rpc_connection *connection, monero_daemon **out_daemon)
Create a daemon RPC client that shares a connection, with its proxy, timeout and TLS settings.
MONERO_EXPORT monero_result monero_daemon_set_peer_bans(monero_daemon *daemon, const char *bans_json)
Bans peer nodes.
MONERO_EXPORT monero_result monero_daemon_start_mining(monero_daemon *daemon, const char *address, const uint64_t *num_threads, const bool *is_background, const bool *ignore_battery)
Start mining.
MONERO_EXPORT monero_result monero_daemon_relay_txs_by_hash(monero_daemon *daemon, const char *const *tx_hashes, size_t num_tx_hashes)
Relay transactions by their hashes.
MONERO_EXPORT monero_result monero_daemon_submit_block(monero_daemon *daemon, const char *block_blob)
Submit a mined block to the network.
MONERO_EXPORT monero_result monero_daemon_get_tx_pool_hashes(monero_daemon *daemon, char **out_json)
Get the hashes of the transactions in the transaction pool.
MONERO_EXPORT monero_result monero_daemon_get_peer_bans(monero_daemon *daemon, char **out_json)
Get the peer bans.
MONERO_EXPORT monero_result monero_daemon_get_peers(monero_daemon *daemon, char **out_json)
Get the peers with active incoming or outgoing connections to the node.
MONERO_EXPORT monero_result monero_daemon_add_listener(monero_daemon *daemon, monero_daemon_listener *listener)
Register a listener.
MONERO_EXPORT void monero_daemon_listener_free(monero_daemon_listener *listener)
Release a listener.
MONERO_EXPORT monero_result monero_daemon_get_key_image_spent_statuses(monero_daemon *daemon, const char *const *key_images, size_t num_key_images, monero_key_image_spent_status **out_statuses, size_t *out_count)
Get the spent status of each of the given key images.
struct monero_daemon_listener monero_daemon_listener
Opaque listener that receives the daemon's notifications.
Definition monero_c_daemon.h:63
MONERO_EXPORT monero_result monero_daemon_get_block_hashes(monero_daemon *daemon, const char *const *block_hashes, size_t num_block_hashes, char **out_json)
Get block hashes from a chain history, using the same format as monero_daemon_get_blocks_by_hash().
MONERO_EXPORT monero_result monero_daemon_set_poll_period(monero_daemon *daemon, uint64_t period_ms)
Set how often the listeners poll the daemon for new blocks.
MONERO_EXPORT monero_result monero_daemon_get_tx_hexes(monero_daemon *daemon, const char *const *tx_hashes, size_t num_tx_hashes, bool prune, char **out_json)
Get transaction hexes by their hashes.
MONERO_EXPORT monero_result monero_daemon_add_auxiliary_pow(monero_daemon *daemon, const char *block_template_blob, const char *aux_pow_json, char **out_json)
Add auxiliary proof-of-work to a block template for merge mining.
MONERO_EXPORT monero_result monero_daemon_pop_blocks(monero_daemon *daemon, uint64_t num_blocks, uint64_t *out_height)
Pops (removes) blocks from the top of the blockchain.
MONERO_EXPORT monero_result monero_daemon_set_download_limit(monero_daemon *daemon, int32_t limit, int32_t *out_limit)
Set the download bandwidth limit.
MONERO_EXPORT monero_result monero_daemon_wait_for_next_block_header(monero_daemon *daemon, char **out_json)
Wait for the next block and return its header.
MONERO_EXPORT monero_result monero_daemon_flush_tx_pool_hashes(monero_daemon *daemon, const char *const *tx_hashes, size_t num_tx_hashes)
Flush transactions from the transaction pool by their hashes.
MONERO_EXPORT monero_result monero_daemon_reset_download_limit(monero_daemon *daemon, int32_t *out_limit)
Reset the download bandwidth limit to the default.
MONERO_EXPORT monero_result monero_daemon_calculate_pow(monero_daemon *daemon, uint32_t major_version, uint64_t height, const char *block_blob, const char *seed_hash, char **out_pow_hash)
Calculate the proof-of-work hash of a mined block.
MONERO_EXPORT monero_result monero_daemon_get_miner_data(monero_daemon *daemon, char **out_json)
Get the data needed to build a block template, for pools that assemble their own.
MONERO_EXPORT monero_result monero_daemon_remove_listeners(monero_daemon *daemon)
Unregister all listeners of the daemon.
MONERO_EXPORT monero_result monero_daemon_download_update(monero_daemon *daemon, const char *path, char **out_json)
Downloads an update.
MONERO_EXPORT monero_result monero_daemon_get_tx(monero_daemon *daemon, const char *tx_hash, bool prune, char **out_json)
Get a transaction by its hash.
MONERO_EXPORT monero_result monero_daemon_submit_tx_hex(monero_daemon *daemon, const char *tx_hex, bool do_not_relay, char **out_json)
Submit a transaction to the daemon's pool.
MONERO_EXPORT monero_result monero_daemon_get_output_distribution(monero_daemon *daemon, const uint64_t *amounts, size_t num_amounts, const bool *is_cumulative, const uint64_t *start_height, const uint64_t *end_height, char **out_json)
Create an output distribution for the given amounts.
MONERO_EXPORT monero_result monero_daemon_check_for_update(monero_daemon *daemon, char **out_json)
Check for an update.
MONERO_EXPORT monero_result monero_daemon_save_blockchain(monero_daemon *daemon)
Saves (flushes) the blockchain to disk.
MONERO_EXPORT monero_result monero_daemon_get_output_histogram(monero_daemon *daemon, const uint64_t *amounts, size_t num_amounts, const int32_t *min_count, const int32_t *max_count, const bool *is_unlocked, const int32_t *recent_cutoff, char **out_json)
Get a histogram of output amounts: for each amount, the number of outputs on the chain.
MONERO_EXPORT monero_result monero_daemon_set_upload_limit(monero_daemon *daemon, int32_t limit, int32_t *out_limit)
Set the upload bandwidth limit.
MONERO_EXPORT monero_result monero_daemon_get_blocks_by_height(monero_daemon *daemon, const uint64_t *heights, size_t num_heights, char **out_json)
Get blocks at the given heights.
MONERO_EXPORT monero_result monero_daemon_stop(monero_daemon *daemon)
Safely disconnects from and shuts down the daemon.
MONERO_EXPORT monero_result monero_daemon_get_blocks_by_hash(monero_daemon *daemon, const char *const *block_hashes, size_t num_block_hashes, uint64_t start_height, bool prune, uint64_t max_block_count, char **out_json)
Get blocks by hash.
MONERO_EXPORT monero_result monero_daemon_get_alt_block_hashes(monero_daemon *daemon, char **out_json)
Get the known block hashes that are not on the main chain.
void(* monero_daemon_on_block_header_fn)(void *user_data, const char *header_json)
Called with the JSON of each new block header.
Definition monero_c_daemon.h:74
MONERO_EXPORT monero_result monero_daemon_get_tx_pool_backlog(monero_daemon *daemon, char **out_json)
Get the transaction pool backlog.
MONERO_EXPORT monero_result monero_daemon_get_block_by_height(monero_daemon *daemon, uint64_t height, char **out_json)
Get a block by its height.
MONERO_EXPORT monero_result monero_daemon_get_download_limit(monero_daemon *daemon, int32_t *out_limit)
Get the download bandwidth limit.
MONERO_EXPORT monero_result monero_daemon_get_fee_estimate(monero_daemon *daemon, uint64_t grace_blocks, char **out_json)
Get the mining fee estimates per kB.
MONERO_EXPORT monero_result monero_daemon_get_info(monero_daemon *daemon, char **out_json)
Get general information about the state of the node and the network.
struct monero_daemon monero_daemon
Copyright (c) Libmonero.
Definition monero_c_daemon.h:53
MONERO_EXPORT monero_result monero_daemon_set_outgoing_peer_limit(monero_daemon *daemon, int32_t limit)
Limits the number of outgoing peers.
MONERO_EXPORT monero_result monero_daemon_is_trusted(monero_daemon *daemon, bool *out_trusted)
Indicates if the daemon is trusted or untrusted.
MONERO_EXPORT monero_result monero_daemon_prune_blockchain(monero_daemon *daemon, bool check, char **out_json)
Prunes the blockchain.
MONERO_EXPORT monero_result monero_daemon_get_miner_tx_sum(monero_daemon *daemon, uint64_t height, uint64_t num_blocks, char **out_json)
Get the total emissions and fees from the genesis block up to the given height.
MONERO_EXPORT monero_result monero_daemon_listener_create(const monero_daemon_listener_callbacks *callbacks, monero_daemon_listener **out_listener)
Create a listener that forwards the daemon's notifications to the callbacks.
MONERO_EXPORT monero_result monero_daemon_get_key_image_spent_status(monero_daemon *daemon, const char *key_image, monero_key_image_spent_status *out_status)
Get the spent status of a key image.
struct monero_rpc_connection monero_rpc_connection
Copyright (c) Libmonero.
Definition monero_c_rpc_connection.h:50
monero_result
Definition monero_c_utils.h:81
#define MONERO_EXPORT
Copyright (c) Libmonero.
Definition monero_c_utils.h:69
Callbacks of a daemon listener.
Definition monero_c_daemon.h:79
void * user_data
is passed to the callback, and monero_c doesn't read it
Definition monero_c_daemon.h:80
monero_daemon_on_block_header_fn on_block_header
is called with each new block header, or NULL to skip
Definition monero_c_daemon.h:81