Bitcoin Core  0.20.99
P2P Digital Currency
Namespaces | Functions
init.h File Reference
#include <memory>
#include <string>
Include dependency graph for init.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 interfaces
 
 util
 

Functions

void Interrupt (NodeContext &node)
 Interrupt threads. More...
 
void Shutdown (NodeContext &node)
 
void InitLogging (const ArgsManager &args)
 Initialize the logging infrastructure. More...
 
void InitParameterInteraction (ArgsManager &args)
 Parameter interaction: change current parameters depending on various rules. More...
 
bool AppInitBasicSetup (ArgsManager &args)
 Initialize bitcoin core: Basic context setup. More...
 
bool AppInitParameterInteraction (const ArgsManager &args)
 Initialization: parameter interaction. More...
 
bool AppInitSanityChecks ()
 Initialization sanity checks: ecc init, sanity checks, dir lock. More...
 
bool AppInitLockDataDirectory ()
 Lock bitcoin core data directory. More...
 
bool AppInitInterfaces (NodeContext &node)
 Initialize node and wallet interface pointers. More...
 
bool AppInitMain (const util::Ref &context, NodeContext &node, interfaces::BlockAndHeaderTipInfo *tip_info=nullptr)
 Bitcoin core main initialization. More...
 
void SetupServerArgs (NodeContext &node)
 Register all arguments with the ArgsManager. More...
 
std::string LicenseInfo ()
 Returns licensing information (for -version) More...
 

Function Documentation

◆ AppInitBasicSetup()

bool AppInitBasicSetup ( ArgsManager args)

Initialize bitcoin core: Basic context setup.

Note
This can be done before daemonization. Do not call Shutdown() if this function fails.
Precondition
Parameters should be parsed and config file should be read.

Definition at line 917 of file init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AppInitInterfaces()

bool AppInitInterfaces ( NodeContext node)

Initialize node and wallet interface pointers.

Has no prerequisites or side effects besides allocating memory.

Definition at line 1252 of file init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AppInitLockDataDirectory()

bool AppInitLockDataDirectory ( )

Lock bitcoin core data directory.

Note
This should only be done after daemonization. Do not call Shutdown() if this function fails.
Precondition
Parameters should be parsed and config file should be read, AppInitSanityChecks should have been called.

Definition at line 1240 of file init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AppInitMain()

bool AppInitMain ( const util::Ref context,
NodeContext node,
interfaces::BlockAndHeaderTipInfo tip_info = nullptr 
)

Bitcoin core main initialization.

Note
This should only be done after daemonization. Call Shutdown() if this function fails.
Precondition
Parameters should be parsed and config file should be read, AppInitLockDataDirectory should have been called.

Definition at line 1263 of file init.cpp.

Here is the caller graph for this function:

◆ AppInitParameterInteraction()

bool AppInitParameterInteraction ( const ArgsManager args)

Initialization: parameter interaction.

Note
This can be done before daemonization. Do not call Shutdown() if this function fails.
Precondition
Parameters should be parsed and config file should be read, AppInitBasicSetup should have been called.

Definition at line 959 of file init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AppInitSanityChecks()

bool AppInitSanityChecks ( )

Initialization sanity checks: ecc init, sanity checks, dir lock.

Note
This can be done before daemonization. Do not call Shutdown() if this function fails.
Precondition
Parameters should be parsed and config file should be read, AppInitParameterInteraction should have been called.

Definition at line 1219 of file init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitLogging()

void InitLogging ( const ArgsManager args)

Initialize the logging infrastructure.

Initialize the logging infrastructure.

Note that this is called very early in the process lifetime, so you should be careful about what global state you rely on here.

Definition at line 871 of file init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitParameterInteraction()

void InitParameterInteraction ( ArgsManager args)

Parameter interaction: change current parameters depending on various rules.

Definition at line 802 of file init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Interrupt()

void Interrupt ( NodeContext node)

Interrupt threads.

Definition at line 162 of file init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LicenseInfo()

std::string LicenseInfo ( )

Returns licensing information (for -version)

Definition at line 594 of file init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetupServerArgs()

void SetupServerArgs ( NodeContext node)

Register all arguments with the ArgsManager.

Definition at line 371 of file init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Shutdown()

void Shutdown ( NodeContext node)

Note: Shutdown() must be able to handle cases in which initialization failed part of the way, for example if the data directory was found to be locked. Be sure that anything that writes files or flushes caches only does this if the respective module was initialized.

Definition at line 178 of file init.cpp.

Here is the call graph for this function:
Here is the caller graph for this function: