Bitcoin Core
31.1.0
P2P Digital Currency
Toggle main menu visibility
Loading...
Searching...
No Matches
src
init.h
Go to the documentation of this file.
1
// Copyright (c) 2009-2010 Satoshi Nakamoto
2
// Copyright (c) 2009-present The Bitcoin Core developers
3
// Distributed under the MIT software license, see the accompanying
4
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
6
#ifndef BITCOIN_INIT_H
7
#define BITCOIN_INIT_H
8
9
#include <atomic>
10
12
static
constexpr
bool
DEFAULT_DAEMON
=
false
;
14
static
constexpr
bool
DEFAULT_DAEMONWAIT
=
false
;
15
16
class
ArgsManager
;
17
namespace
interfaces
{
18
struct
BlockAndHeaderTipInfo;
19
}
20
namespace
kernel
{
21
struct
Context
;
22
}
23
namespace
node
{
24
struct
NodeContext
;
25
}
// namespace node
26
28
void
InitContext
(
node::NodeContext
&
node
);
30
bool
ShutdownRequested
(
node::NodeContext
&
node
);
31
33
void
Interrupt
(
node::NodeContext
&
node
);
34
void
Shutdown
(
node::NodeContext
&
node
);
36
void
InitLogging
(
const
ArgsManager
&
args
);
38
void
InitParameterInteraction
(
ArgsManager
&
args
);
39
44
bool
AppInitBasicSetup
(
const
ArgsManager
&
args
, std::atomic<int>&
exit_status
);
50
bool
AppInitParameterInteraction
(
const
ArgsManager
&
args
);
56
bool
AppInitSanityChecks
(
const
kernel::Context
&
kernel
);
62
bool
AppInitLockDirectories
();
66
bool
AppInitInterfaces
(
node::NodeContext
&
node
);
72
bool
AppInitMain
(
node::NodeContext
&
node
,
interfaces::BlockAndHeaderTipInfo
* tip_info =
nullptr
);
73
77
void
SetupServerArgs
(
ArgsManager
& argsman,
bool
can_listen_ipc=
false
);
78
80
bool
StartIndexBackgroundSync
(
node::NodeContext
&
node
);
81
82
#endif
// BITCOIN_INIT_H
exit_status
int exit_status
Definition
bitcoin-wallet.cpp:98
args
ArgsManager & args
Definition
bitcoind.cpp:277
ArgsManager
Definition
args.h:103
Shutdown
void Shutdown(node::NodeContext &node)
Definition
init.cpp:288
DEFAULT_DAEMON
static constexpr bool DEFAULT_DAEMON
Default value for -daemon option.
Definition
init.h:12
InitLogging
void InitLogging(const ArgsManager &args)
Initialize the logging infrastructure.
Definition
init.cpp:853
InitContext
void InitContext(node::NodeContext &node)
Initialize node context shutdown and args variables.
Definition
init.cpp:213
AppInitMain
bool AppInitMain(node::NodeContext &node, interfaces::BlockAndHeaderTipInfo *tip_info=nullptr)
Bitcoin core main initialization.
Definition
init.cpp:1421
AppInitBasicSetup
bool AppInitBasicSetup(const ArgsManager &args, std::atomic< int > &exit_status)
Initialize bitcoin core: Basic context setup.
Definition
init.cpp:882
Interrupt
void Interrupt(node::NodeContext &node)
Interrupt threads.
Definition
init.cpp:268
ShutdownRequested
bool ShutdownRequested(node::NodeContext &node)
Return whether node shutdown was requested.
Definition
init.cpp:250
SetupServerArgs
void SetupServerArgs(ArgsManager &argsman, bool can_listen_ipc=false)
Register all arguments with the ArgsManager.
Definition
init.cpp:459
DEFAULT_DAEMONWAIT
static constexpr bool DEFAULT_DAEMONWAIT
Default value for -daemonwait option.
Definition
init.h:14
StartIndexBackgroundSync
bool StartIndexBackgroundSync(node::NodeContext &node)
Validates requirements to run the indexes and spawns each index initial sync thread.
Definition
init.cpp:2315
AppInitParameterInteraction
bool AppInitParameterInteraction(const ArgsManager &args)
Initialization: parameter interaction.
Definition
init.cpp:919
InitParameterInteraction
void InitParameterInteraction(ArgsManager &args)
Parameter interaction: change current parameters depending on various rules.
Definition
init.cpp:764
AppInitLockDirectories
bool AppInitLockDirectories()
Lock bitcoin core critical directories.
Definition
init.cpp:1195
AppInitInterfaces
bool AppInitInterfaces(node::NodeContext &node)
Initialize node and wallet interface pointers.
Definition
init.cpp:1207
AppInitSanityChecks
bool AppInitSanityChecks(const kernel::Context &kernel)
Initialization sanity checks.
Definition
init.cpp:1176
interfaces
Definition
interfaces.cpp:41
kernel
Definition
coinstatsindex.h:21
node
Definition
messages.h:21
interfaces::BlockAndHeaderTipInfo
Block and header tip information.
Definition
node.h:50
kernel::Context
Definition
context.h:16
node::NodeContext
Definition
context.h:56
Generated on
for Bitcoin Core by
1.17.0