Bitcoin ABC 0.26.3
P2P Digital Currency
Loading...
Searching...
No Matches
init.h
Go to the documentation of this file.
1// Copyright (c) 2009-2010 Satoshi Nakamoto
2// Copyright (c) 2009-2018 The Bitcoin Core developers
3// Copyright (c) 2018-2019 The Bitcoin developers
4// Distributed under the MIT software license, see the accompanying
5// file COPYING or http://www.opensource.org/licenses/mit-license.php.
6
7#ifndef BITCOIN_INIT_H
8#define BITCOIN_INIT_H
9
10#include <common/system.h>
11
12#include <memory>
13#include <string>
14
16static constexpr bool DEFAULT_DAEMON = false;
18static constexpr bool DEFAULT_DAEMONWAIT = false;
19
20class ArgsManager;
21class Config;
22class CScheduler;
23class CWallet;
25namespace interfaces {
26struct BlockAndHeaderTipInfo;
27}
28namespace node {
29struct NodeContext;
30} // namespace node
31class RPCServer;
32
37void InitLogging(const ArgsManager &args);
40
47bool AppInitBasicSetup(const ArgsManager &args);
55bool AppInitParameterInteraction(Config &config, const ArgsManager &args);
83bool AppInitMain(Config &config, RPCServer &rpcServer,
87
92
93#endif // BITCOIN_INIT_H
Simple class for background tasks that should be run periodically or once "after a while".
Definition scheduler.h:41
A CWallet maintains a set of transactions and balances, and provides the ability to create new transa...
Definition wallet.h:254
Class for registering and managing all RPC calls.
Definition server.h:40
void Shutdown(node::NodeContext &node)
Definition init.cpp:225
static constexpr bool DEFAULT_DAEMON
Default value for -daemon option.
Definition init.h:16
void SetupServerArgs(node::NodeContext &node)
Register all arguments with the ArgsManager.
Definition init.cpp:425
void InitLogging(const ArgsManager &args)
Initialize the logging infrastructure.
Definition init.cpp:1655
bool AppInitLockDataDirectory()
Lock bitcoin data directory.
Definition init.cpp:2052
void Interrupt(node::NodeContext &node)
Interrupt threads.
Definition init.cpp:201
bool AppInitBasicSetup(const ArgsManager &args)
Initialize bitcoin: Basic context setup.
Definition init.cpp:1682
bool AppInitSanityChecks()
Initialization sanity checks: ecc init, sanity checks, dir lock.
Definition init.cpp:2034
static constexpr bool DEFAULT_DAEMONWAIT
Default value for -daemonwait option.
Definition init.h:18
void InitParameterInteraction(ArgsManager &args)
Parameter interaction: change current parameters depending on various rules.
Definition init.cpp:1521
bool AppInitMain(Config &config, RPCServer &rpcServer, HTTPRPCRequestProcessor &httpRPCRequestProcessor, node::NodeContext &node, interfaces::BlockAndHeaderTipInfo *tip_info=nullptr)
Bitcoin main initialization.
Definition init.cpp:2074
bool AppInitParameterInteraction(Config &config, const ArgsManager &args)
Initialization: parameter interaction.
Definition init.cpp:1729
bool AppInitInterfaces(node::NodeContext &node)
Initialize node and wallet interface pointers.
Definition init.cpp:2064
Definition init.h:28
T GetRand(T nMax=std::numeric_limits< T >::max()) noexcept
Generate a uniform random integer of type T in the range [0..nMax) nMax defaults to std::numeric_limi...
Definition random.h:85
Block and header tip information.
Definition node.h:50
NodeContext struct containing references to chain state and connection state.
Definition context.h:43