19const char* EXE_NAME =
"bitcoin-node";
34 std::unique_ptr<interfaces::WalletLoader> makeWalletLoader(
interfaces::Chain& chain)
override
40 bool canListenIpc()
override {
return true; }
42 std::unique_ptr<interfaces::Ipc>
m_ipc;
50 auto init = std::make_unique<init::BitcoinNodeInit>(
node, argc > 0 ? argv[0] :
"");
node::NodeContext & m_node
std::unique_ptr< interfaces::Ipc > m_ipc
std::unique_ptr< interfaces::Init > init
#define Assert(val)
Identity function.
Interface giving clients (wallet processes, maybe other analysis tools in the future) ability to acce...
Initial interface created when a process is first started, and used to give and get access to other i...
Interface providing access to interprocess-communication (IPC) functionality.
void InitContext(NodeContext &node)
Initialize node context shutdown and args variables.
std::unique_ptr< Node > MakeNode(node::NodeContext &context)
Return implementation of Node interface.
std::unique_ptr< Mining > MakeMining(node::NodeContext &node)
Return implementation of Mining interface.
std::unique_ptr< Echo > MakeEcho()
Return implementation of Echo interface.
std::unique_ptr< WalletLoader > MakeWalletLoader(Chain &chain, ArgsManager &args)
Return implementation of ChainClient interface for a wallet loader.
std::unique_ptr< Ipc > MakeIpc(const char *exe_name, const char *process_argv0, Init &init)
Return implementation of Ipc interface.
std::unique_ptr< Init > MakeNodeInit(node::NodeContext &node, int argc, char *argv[], int &exit_status)
Return implementation of Init interface for the node process.
std::unique_ptr< Chain > MakeChain(node::NodeContext &node)
Return implementation of Chain interface.
NodeContext struct containing references to chain state and connection state.
interfaces::Init * init
Init interface for initializing current process and connecting to other processes.