diff --git a/src/CryptoNoteCore/Blockchain.cpp b/src/CryptoNoteCore/Blockchain.cpp index 4c92efd4..02819443 100644 --- a/src/CryptoNoteCore/Blockchain.cpp +++ b/src/CryptoNoteCore/Blockchain.cpp @@ -529,11 +529,6 @@ namespace cn { loadBlockchainIndices(); } - - m_checkpoints.load_checkpoints(); - logger(logging::INFO) << "Loading checkpoints"; - m_checkpoints.load_checkpoints_from_dns(); - logger(logging::INFO) << "Loading DNS checkpoints"; } else { diff --git a/src/CryptoNoteCore/Checkpoints.cpp b/src/CryptoNoteCore/Checkpoints.cpp index 29d1c795..492f2be9 100644 --- a/src/CryptoNoteCore/Checkpoints.cpp +++ b/src/CryptoNoteCore/Checkpoints.cpp @@ -39,11 +39,12 @@ bool Checkpoints::add_checkpoint(uint32_t height, const std::string &hash_str) { } if (!(0 == m_points.count(height))) { - logger(ERROR) << "<< Checkpoints.cpp << " << "Incorrect hash in checkpoints"; + logger(DEBUGGING) << "Checkpoint already exists for height " << height; return false; } - + m_points[height] = h; + return true; } //--------------------------------------------------------------------------- @@ -133,7 +134,7 @@ bool Checkpoints::load_checkpoints_from_dns() logger(DEBUGGING) << "<< Checkpoints.cpp << " << "Checkpoint already exists for height: " << height << ". Ignoring DNS checkpoint."; } else { add_checkpoint(height, hash_str); - logger(INFO) << "<< Checkpoints.cpp << " << "Added DNS checkpoint: " << height_str << ":" << hash_str; + logger(DEBUGGING) << "<< Checkpoints.cpp << " << "Added DNS checkpoint: " << height_str << ":" << hash_str; } } diff --git a/src/Daemon/Daemon.cpp b/src/Daemon/Daemon.cpp index 09ff0358..5e4fc402 100644 --- a/src/Daemon/Daemon.cpp +++ b/src/Daemon/Daemon.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2017 The Cryptonote developers -// Copyright (c) 2016-2018, The Karbo developers +// Copyright (c) 2016-2022, The Karbo developers // Copyright (c) 2017-2018 The Circle Foundation & Conceal Devs // Copyright (c) 2018-2022 Conceal Network & Conceal Devs // @@ -16,6 +16,8 @@ #include "Common/SignalHandler.h" #include "Common/PathTools.h" #include "crypto/hash.h" +#include "CryptoNoteConfig.h" +#include "CryptoNoteCore/Checkpoints.h" #include "CryptoNoteCore/Core.h" #include "CryptoNoteCore/CoreConfig.h" #include "CryptoNoteCore/CryptoNoteTools.h" @@ -278,6 +280,17 @@ int main(int argc, char* argv[]) cn::Currency currency = currencyBuilder.currency(); cn::core ccore(currency, nullptr, logManager, vm["enable-blockchain-indexes"].as(), vm["enable-autosave"].as()); + cn::Checkpoints checkpoints(logManager); + for (const auto& cp : cn::CHECKPOINTS) { + checkpoints.add_checkpoint(cp.height, cp.blockId); + } + + checkpoints.load_checkpoints_from_dns(); + + if (!testnet_mode) { + ccore.set_checkpoints(std::move(checkpoints)); + } + CoreConfig coreConfig; coreConfig.init(vm); NetNodeConfig netNodeConfig;