wallet_rpc_server: add --no-initial-sync flag for quicker network binding

This commit is contained in:
moneromooo-monero 2022-05-25 09:02:27 +00:00
parent eac1b86bb2
commit 633e1b7359
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3

View file

@ -79,6 +79,7 @@ namespace
const command_line::arg_descriptor<bool> arg_restricted = {"restricted-rpc", "Restricts to view-only commands", false}; const command_line::arg_descriptor<bool> arg_restricted = {"restricted-rpc", "Restricts to view-only commands", false};
const command_line::arg_descriptor<std::string> arg_wallet_dir = {"wallet-dir", "Directory for newly created wallets"}; const command_line::arg_descriptor<std::string> arg_wallet_dir = {"wallet-dir", "Directory for newly created wallets"};
const command_line::arg_descriptor<bool> arg_prompt_for_password = {"prompt-for-password", "Prompts for password when not provided", false}; const command_line::arg_descriptor<bool> arg_prompt_for_password = {"prompt-for-password", "Prompts for password when not provided", false};
const command_line::arg_descriptor<bool> arg_no_initial_sync = {"no-initial-sync", "Skips the initial sync before listening for connections", false};
constexpr const char default_rpc_username[] = "monero"; constexpr const char default_rpc_username[] = "monero";
@ -4554,6 +4555,7 @@ public:
const auto password_file = command_line::get_arg(vm, arg_password_file); const auto password_file = command_line::get_arg(vm, arg_password_file);
const auto prompt_for_password = command_line::get_arg(vm, arg_prompt_for_password); const auto prompt_for_password = command_line::get_arg(vm, arg_prompt_for_password);
const auto password_prompt = prompt_for_password ? password_prompter : nullptr; const auto password_prompt = prompt_for_password ? password_prompter : nullptr;
const auto no_initial_sync = command_line::get_arg(vm, arg_no_initial_sync);
if(!wallet_file.empty() && !from_json.empty()) if(!wallet_file.empty() && !from_json.empty())
{ {
@ -4622,6 +4624,7 @@ public:
try try
{ {
if (!no_initial_sync)
wal->refresh(wal->is_trusted_daemon()); wal->refresh(wal->is_trusted_daemon());
} }
catch (const std::exception& e) catch (const std::exception& e)
@ -4733,6 +4736,7 @@ int main(int argc, char** argv) {
command_line::add_arg(desc_params, arg_wallet_dir); command_line::add_arg(desc_params, arg_wallet_dir);
command_line::add_arg(desc_params, arg_prompt_for_password); command_line::add_arg(desc_params, arg_prompt_for_password);
command_line::add_arg(desc_params, arg_rpc_client_secret_key); command_line::add_arg(desc_params, arg_rpc_client_secret_key);
command_line::add_arg(desc_params, arg_no_initial_sync);
daemonizer::init_options(hidden_options, desc_params); daemonizer::init_options(hidden_options, desc_params);
desc_params.add(hidden_options); desc_params.add(hidden_options);