Bitcoin Core  0.20.99
P2P Digital Currency
Go to the documentation of this file.
1 // Copyright (c) 2009-2010 Satoshi Nakamoto
2 // Copyright (c) 2009-2020 The Bitcoin Core developers
3 // Distributed under the MIT software license, see the accompanying
4 // file COPYING or
6 #ifndef BITCOIN_INIT_H
7 #define BITCOIN_INIT_H
9 #include <memory>
10 #include <string>
12 class ArgsManager;
13 struct NodeContext;
14 namespace interfaces {
15 struct BlockAndHeaderTipInfo;
16 }
17 namespace boost {
18 class thread_group;
19 } // namespace boost
20 namespace util {
21 class Ref;
22 } // namespace util
25 void Interrupt(NodeContext& node);
26 void Shutdown(NodeContext& node);
28 void InitLogging(const ArgsManager& args);
36 bool AppInitBasicSetup(ArgsManager& args);
48 bool AppInitSanityChecks();
58 bool AppInitInterfaces(NodeContext& node);
64 bool AppInitMain(const util::Ref& context, NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info = nullptr);
69 void SetupServerArgs(NodeContext& node);
72 std::string LicenseInfo();
74 #endif // BITCOIN_INIT_H
void InitParameterInteraction(ArgsManager &args)
Parameter interaction: change current parameters depending on various rules.
Definition: init.cpp:802
Definition: httprpc.h:8
Definition: init.h:17
bool AppInitSanityChecks()
Initialization sanity checks: ecc init, sanity checks, dir lock.
Definition: init.cpp:1219
bool AppInitBasicSetup(ArgsManager &args)
Initialize bitcoin core: Basic context setup.
Definition: init.cpp:917
void InitLogging(const ArgsManager &args)
Initialize the logging infrastructure.
Definition: init.cpp:871
NodeContext struct containing references to chain state and connection state.
Definition: context.h:36
bool AppInitLockDataDirectory()
Lock bitcoin core data directory.
Definition: init.cpp:1240
Block and header tip information.
Definition: node.h:42
void Interrupt(NodeContext &node)
Interrupt threads.
Definition: init.cpp:162
Type-safe dynamic reference.
Definition: ref.h:21
bool AppInitInterfaces(NodeContext &node)
Initialize node and wallet interface pointers.
Definition: init.cpp:1252
std::string LicenseInfo()
Returns licensing information (for -version)
Definition: init.cpp:594
bool AppInitParameterInteraction(const ArgsManager &args)
Initialization: parameter interaction.
Definition: init.cpp:959
bool AppInitMain(const util::Ref &context, NodeContext &node, interfaces::BlockAndHeaderTipInfo *tip_info=nullptr)
Bitcoin core main initialization.
Definition: init.cpp:1263
void Shutdown(NodeContext &node)
Definition: init.cpp:178
void SetupServerArgs(NodeContext &node)
Register all arguments with the ArgsManager.
Definition: init.cpp:371