34 #include <boost/program_options/options_description.hpp>
35 #include <boost/program_options/variables_map.hpp>
37 #include "net/http_server_impl_base.h"
38 #include "net/http_client.h"
44 #undef ELECTRONEUM_DEFAULT_LOG_CATEGORY
45 #define ELECTRONEUM_DEFAULT_LOG_CATEGORY "daemon.rpc"
80 static void init_options(boost::program_options::options_description& desc);
82 const boost::program_options::variables_map& vm,
83 const bool restricted,
84 const std::string& port
133 BEGIN_JSON_RPC_MAP("/json_rpc")
247 bool check_core_busy();
248 bool check_core_ready();
254 template <
typename COMMAND_TYPE>
255 bool use_bootstrap_daemon_if_necessary(
const invoke_http_mode &mode,
const std::string &command_name,
const typename COMMAND_TYPE::request& req,
typename COMMAND_TYPE::response& res,
bool &r);
uint64_t height
Definition: blockchain.cpp:91
static void init(std::string cache_filename)
Definition: blockchain_blackball.cpp:224
int pop_blocks(cryptonote::core &core, int num_blocks)
Definition: blockchain_import.cpp:137
Definition: core_rpc_server.h:57
static const command_line::arg_descriptor< bool > arg_rpc_ssl_allow_any_cert
Definition: core_rpc_server.h:69
static const command_line::arg_descriptor< std::string > arg_rpc_ssl_ca_certificates
Definition: core_rpc_server.h:67
epee::net_utils::http::http_simple_client m_http_client
Definition: core_rpc_server.h:260
nodetool::node_server< cryptonote::t_cryptonote_protocol_handler< cryptonote::core > > & m_p2p
Definition: core_rpc_server.h:258
network_type m_nettype
Definition: core_rpc_server.h:265
static const command_line::arg_descriptor< std::string > arg_rpc_ssl_private_key
Definition: core_rpc_server.h:65
epee::net_utils::connection_context_base connection_context
Definition: core_rpc_server.h:73
boost::shared_mutex m_bootstrap_daemon_mutex
Definition: core_rpc_server.h:261
static const command_line::arg_descriptor< std::string > arg_rpc_ssl_certificate
Definition: core_rpc_server.h:66
CHAIN_HTTP_TO_MAP2(connection_context)
static const command_line::arg_descriptor< bool > arg_public_node
Definition: core_rpc_server.h:60
invoke_http_mode
Definition: core_rpc_server.h:253
@ BIN
Definition: core_rpc_server.h:253
static const command_line::arg_descriptor< std::string > arg_bootstrap_daemon_address
Definition: core_rpc_server.h:70
network_type nettype() const
Definition: core_rpc_server.h:86
bool m_restricted
Definition: core_rpc_server.h:266
std::chrono::system_clock::time_point m_bootstrap_height_check_time
Definition: core_rpc_server.h:263
static const command_line::arg_descriptor< std::string > arg_rpc_ssl
Definition: core_rpc_server.h:64
static const command_line::arg_descriptor< std::string > arg_bootstrap_daemon_login
Definition: core_rpc_server.h:71
bool m_should_use_bootstrap_daemon
Definition: core_rpc_server.h:262
static const command_line::arg_descriptor< std::string, false, true, 2 > arg_rpc_bind_port
Definition: core_rpc_server.h:61
std::string m_bootstrap_daemon_address
Definition: core_rpc_server.h:259
static const command_line::arg_descriptor< std::vector< std::string > > arg_rpc_ssl_allowed_fingerprints
Definition: core_rpc_server.h:68
bool m_was_bootstrap_ever_used
Definition: core_rpc_server.h:264
static const command_line::arg_descriptor< std::string > arg_rpc_restricted_bind_port
Definition: core_rpc_server.h:62
static const command_line::arg_descriptor< bool > arg_restricted_rpc
Definition: core_rpc_server.h:63
core & m_core
Definition: core_rpc_server.h:257
handles core cryptonote functionality
Definition: cryptonote_core.h:86
BOOST_CLASS_VERSION(nodetool::node_server< cryptonote::t_cryptonote_protocol_handler< cryptonote::core > >, 1)
This is the orginal cryptonote protocol network-events handler, modified by us.
const
Definition: build_protob.py:9
crypto namespace.
Definition: crypto.cpp:58
POD_CLASS hash
Definition: hash.h:50
std::string sign_message(const std::string &message, const std::string &privateKey)
Definition: crypto.h:352
Holds cryptonote related classes and helpers.
Definition: db_bdb.cpp:226
network_type
Definition: cryptonote_config.h:243
bool get_block_reward(size_t median_weight, size_t current_block_weight, uint64_t already_generated_coins, uint64_t &reward, uint8_t version, uint64_t current_block_height, network_type nettype)
Definition: cryptonote_basic_impl.cpp:89
void init_options(boost::program_options::options_description &hidden_options, boost::program_options::options_description &normal_options)
Definition: posix_daemonizer.inl:57
Definition: cryptonote_format_utils.h:44
error
Tracks LMDB error codes.
Definition: error.h:45
Definition: core_rpc_server_commands_defs.h:1891
Definition: core_rpc_server_commands_defs.h:989
Definition: core_rpc_server_commands_defs.h:2371
Definition: core_rpc_server_commands_defs.h:1818
Definition: core_rpc_server_commands_defs.h:902
Definition: core_rpc_server_commands_defs.h:919
Definition: core_rpc_server_commands_defs.h:927
Definition: core_rpc_server_commands_defs.h:2050
Definition: core_rpc_server_commands_defs.h:202
Definition: core_rpc_server_commands_defs.h:2021
Definition: core_rpc_server_commands_defs.h:176
Definition: core_rpc_server_commands_defs.h:119
Definition: core_rpc_server_commands_defs.h:1567
Definition: core_rpc_server_commands_defs.h:1101
Definition: core_rpc_server_commands_defs.h:1130
Definition: core_rpc_server_commands_defs.h:1159
Definition: core_rpc_server_commands_defs.h:1992
Definition: core_rpc_server_commands_defs.h:1545
Definition: core_rpc_server_commands_defs.h:225
Definition: core_rpc_server_commands_defs.h:93
Definition: core_rpc_server_commands_defs.h:665
Definition: core_rpc_server_commands_defs.h:1073
Definition: core_rpc_server_commands_defs.h:1638
Definition: core_rpc_server_commands_defs.h:770
Definition: core_rpc_server_commands_defs.h:492
Definition: core_rpc_server_commands_defs.h:538
Definition: core_rpc_server_commands_defs.h:2217
Definition: core_rpc_server_commands_defs.h:1914
Definition: core_rpc_server_commands_defs.h:1227
Definition: core_rpc_server_commands_defs.h:338
Definition: core_rpc_server_commands_defs.h:1451
Definition: core_rpc_server_commands_defs.h:1396
Definition: core_rpc_server_commands_defs.h:1420
Definition: core_rpc_server_commands_defs.h:1521
Definition: core_rpc_server_commands_defs.h:1370
Definition: core_rpc_server_commands_defs.h:455
Definition: core_rpc_server_commands_defs.h:1968
Definition: core_rpc_server_commands_defs.h:1777
Definition: core_rpc_server_commands_defs.h:2422
Definition: core_rpc_server_commands_defs.h:1715
Definition: core_rpc_server_commands_defs.h:420
Definition: core_rpc_server_commands_defs.h:826
Definition: core_rpc_server_commands_defs.h:1693
Definition: core_rpc_server_commands_defs.h:2296
Definition: core_rpc_server_commands_defs.h:2321
Definition: core_rpc_server_commands_defs.h:2132
Definition: core_rpc_server_commands_defs.h:879
Definition: core_rpc_server_commands_defs.h:584
Definition: core_rpc_server_commands_defs.h:1853
Definition: core_rpc_server_commands_defs.h:1664
Definition: core_rpc_server_commands_defs.h:1295
Definition: core_rpc_server_commands_defs.h:1251
Definition: core_rpc_server_commands_defs.h:1273
Definition: core_rpc_server_commands_defs.h:2348
Definition: core_rpc_server_commands_defs.h:2395
Definition: core_rpc_server_commands_defs.h:636
Definition: core_rpc_server_commands_defs.h:1737
Definition: core_rpc_server_commands_defs.h:1598
Definition: core_rpc_server_commands_defs.h:803
Definition: core_rpc_server_commands_defs.h:1757
Definition: core_rpc_server_commands_defs.h:974
Definition: core_rpc_server_commands_defs.h:2155
Definition: core_rpc_server_commands_defs.h:2095
Definition: cryptonote_basic.h:410