Merge pull request #10410

1d2ae21 p2p: isolate regtest from mainnet bootstrap state (Jeetraj)
This commit is contained in:
tobtoht
2026-04-18 08:13:55 +00:00
4 changed files with 119 additions and 9 deletions
+7 -7
View File
@@ -97,16 +97,18 @@ namespace cryptonote
, "Fixed difficulty used for testing."
, 0
};
const command_line::arg_descriptor<std::string, false, true, 2> arg_data_dir = {
const command_line::arg_descriptor<std::string, false, true, 3> arg_data_dir = {
"data-dir"
, "Specify data directory"
, tools::get_default_data_dir()
, {{ &arg_testnet_on, &arg_stagenet_on }}
, [](std::array<bool, 2> testnet_stagenet, bool defaulted, std::string val)->std::string {
if (testnet_stagenet[0])
, {{ &arg_testnet_on, &arg_stagenet_on, &arg_regtest_on }}
, [](std::array<bool, 3> nets, bool defaulted, std::string val)->std::string {
if (nets[0])
return (boost::filesystem::path(val) / "testnet").string();
else if (testnet_stagenet[1])
else if (nets[1])
return (boost::filesystem::path(val) / "stagenet").string();
else if (nets[2])
return (boost::filesystem::path(val) / "fake").string();
return val;
}
};
@@ -474,8 +476,6 @@ namespace cryptonote
bool keep_fakechain = command_line::get_arg(vm, arg_keep_fakechain);
boost::filesystem::path folder(m_config_folder);
if (m_nettype == FAKECHAIN)
folder /= "fake";
// make sure the data directory exists, and try to lock it
CHECK_AND_ASSERT_MES (boost::filesystem::exists(folder) || boost::filesystem::create_directories(folder), false,
+1 -1
View File
@@ -63,7 +63,7 @@ namespace cryptonote
const size_t long_term_block_weight_window;
};
extern const command_line::arg_descriptor<std::string, false, true, 2> arg_data_dir;
extern const command_line::arg_descriptor<std::string, false, true, 3> arg_data_dir;
extern const command_line::arg_descriptor<bool, false> arg_testnet_on;
extern const command_line::arg_descriptor<bool, false> arg_stagenet_on;
extern const command_line::arg_descriptor<bool, false> arg_regtest_on;
+6 -1
View File
@@ -431,8 +431,9 @@ namespace nodetool
{
bool testnet = command_line::get_arg(vm, cryptonote::arg_testnet_on);
bool stagenet = command_line::get_arg(vm, cryptonote::arg_stagenet_on);
bool regtest = command_line::get_arg(vm, cryptonote::arg_regtest_on);
const bool pad_txs = command_line::get_arg(vm, arg_pad_transactions);
m_nettype = testnet ? cryptonote::TESTNET : stagenet ? cryptonote::STAGENET : cryptonote::MAINNET;
m_nettype = testnet ? cryptonote::TESTNET : stagenet ? cryptonote::STAGENET : regtest ? cryptonote::FAKECHAIN : cryptonote::MAINNET;
network_zone& public_zone = m_network_zones[epee::net_utils::zone::public_];
public_zone.m_connect = &public_connect;
@@ -777,6 +778,10 @@ namespace nodetool
{
return get_ip_seed_nodes();
}
if (m_nettype == cryptonote::FAKECHAIN)
{
return {};
}
if (!m_enable_dns_seed_nodes)
{
// TODO: a domain can be set through socks, so that the remote side does the lookup for the DNS seed nodes.