|  | Bitcoin Core 22.99.0
    P2P Digital Currency | 
Top-level interface for a bitcoin node (bitcoind process). More...
#include <node.h>
| Public Types | |
| using | NodesStats = std::vector< std::tuple< CNodeStats, bool, CNodeStateStats > > | 
| Get stats for connected nodes.  More... | |
| using | InitMessageFn = std::function< void(const std::string &message)> | 
| Register handler for init messages.  More... | |
| using | MessageBoxFn = std::function< bool(const bilingual_str &message, const std::string &caption, unsigned int style)> | 
| Register handler for message box messages.  More... | |
| using | QuestionFn = std::function< bool(const bilingual_str &message, const std::string &non_interactive_message, const std::string &caption, unsigned int style)> | 
| Register handler for question messages.  More... | |
| using | ShowProgressFn = std::function< void(const std::string &title, int progress, bool resume_possible)> | 
| Register handler for progress messages.  More... | |
| using | NotifyNumConnectionsChangedFn = std::function< void(int new_num_connections)> | 
| Register handler for number of connections changed messages.  More... | |
| using | NotifyNetworkActiveChangedFn = std::function< void(bool network_active)> | 
| Register handler for network active messages.  More... | |
| using | NotifyAlertChangedFn = std::function< void()> | 
| Register handler for notify alert messages.  More... | |
| using | BannedListChangedFn = std::function< void()> | 
| Register handler for ban list messages.  More... | |
| using | NotifyBlockTipFn = std::function< void(SynchronizationState, interfaces::BlockTip tip, double verification_progress)> | 
| Register handler for block tip messages.  More... | |
| using | NotifyHeaderTipFn = std::function< void(SynchronizationState, interfaces::BlockTip tip, double verification_progress)> | 
| Register handler for header tip messages.  More... | |
| Public Member Functions | |
| virtual | ~Node () | 
| virtual void | initLogging ()=0 | 
| Init logging.  More... | |
| virtual void | initParameterInteraction ()=0 | 
| Init parameter interaction.  More... | |
| virtual bilingual_str | getWarnings ()=0 | 
| Get warnings.  More... | |
| virtual uint32_t | getLogCategories ()=0 | 
| virtual bool | baseInitialize ()=0 | 
| Initialize app dependencies.  More... | |
| virtual bool | appInitMain (interfaces::BlockAndHeaderTipInfo *tip_info=nullptr)=0 | 
| Start node.  More... | |
| virtual void | appShutdown ()=0 | 
| Stop node.  More... | |
| virtual void | startShutdown ()=0 | 
| Start shutdown.  More... | |
| virtual bool | shutdownRequested ()=0 | 
| Return whether shutdown was requested.  More... | |
| virtual void | mapPort (bool use_upnp, bool use_natpmp)=0 | 
| Map port.  More... | |
| virtual bool | getProxy (Network net, proxyType &proxy_info)=0 | 
| Get proxy.  More... | |
| virtual size_t | getNodeCount (ConnectionDirection flags)=0 | 
| Get number of connections.  More... | |
| virtual bool | getNodesStats (NodesStats &stats)=0 | 
| virtual bool | getBanned (banmap_t &banmap)=0 | 
| Get ban map entries.  More... | |
| virtual bool | ban (const CNetAddr &net_addr, int64_t ban_time_offset)=0 | 
| Ban node.  More... | |
| virtual bool | unban (const CSubNet &ip)=0 | 
| Unban node.  More... | |
| virtual bool | disconnectByAddress (const CNetAddr &net_addr)=0 | 
| Disconnect node by address.  More... | |
| virtual bool | disconnectById (NodeId id)=0 | 
| Disconnect node by id.  More... | |
| virtual std::vector< ExternalSigner > | externalSigners ()=0 | 
| List external signers.  More... | |
| virtual int64_t | getTotalBytesRecv ()=0 | 
| Get total bytes recv.  More... | |
| virtual int64_t | getTotalBytesSent ()=0 | 
| Get total bytes sent.  More... | |
| virtual size_t | getMempoolSize ()=0 | 
| Get mempool size.  More... | |
| virtual size_t | getMempoolDynamicUsage ()=0 | 
| Get mempool dynamic usage.  More... | |
| virtual bool | getHeaderTip (int &height, int64_t &block_time)=0 | 
| Get header tip height and time.  More... | |
| virtual int | getNumBlocks ()=0 | 
| Get num blocks.  More... | |
| virtual uint256 | getBestBlockHash ()=0 | 
| Get best block hash.  More... | |
| virtual int64_t | getLastBlockTime ()=0 | 
| Get last block time.  More... | |
| virtual double | getVerificationProgress ()=0 | 
| Get verification progress.  More... | |
| virtual bool | isInitialBlockDownload ()=0 | 
| Is initial block download.  More... | |
| virtual bool | getReindex ()=0 | 
| Get reindex.  More... | |
| virtual bool | getImporting ()=0 | 
| Get importing.  More... | |
| virtual void | setNetworkActive (bool active)=0 | 
| Set network active.  More... | |
| virtual bool | getNetworkActive ()=0 | 
| Get network active.  More... | |
| virtual CFeeRate | getDustRelayFee ()=0 | 
| Get dust relay fee.  More... | |
| virtual UniValue | executeRpc (const std::string &command, const UniValue ¶ms, const std::string &uri)=0 | 
| Execute rpc command.  More... | |
| virtual std::vector< std::string > | listRpcCommands ()=0 | 
| List rpc commands.  More... | |
| virtual void | rpcSetTimerInterfaceIfUnset (RPCTimerInterface *iface)=0 | 
| Set RPC timer interface if unset.  More... | |
| virtual void | rpcUnsetTimerInterface (RPCTimerInterface *iface)=0 | 
| Unset RPC timer interface.  More... | |
| virtual bool | getUnspentOutput (const COutPoint &output, Coin &coin)=0 | 
| Get unspent outputs associated with a transaction.  More... | |
| virtual WalletClient & | walletClient ()=0 | 
| Get wallet client.  More... | |
| virtual std::unique_ptr< Handler > | handleInitMessage (InitMessageFn fn)=0 | 
| virtual std::unique_ptr< Handler > | handleMessageBox (MessageBoxFn fn)=0 | 
| virtual std::unique_ptr< Handler > | handleQuestion (QuestionFn fn)=0 | 
| virtual std::unique_ptr< Handler > | handleShowProgress (ShowProgressFn fn)=0 | 
| virtual std::unique_ptr< Handler > | handleNotifyNumConnectionsChanged (NotifyNumConnectionsChangedFn fn)=0 | 
| virtual std::unique_ptr< Handler > | handleNotifyNetworkActiveChanged (NotifyNetworkActiveChangedFn fn)=0 | 
| virtual std::unique_ptr< Handler > | handleNotifyAlertChanged (NotifyAlertChangedFn fn)=0 | 
| virtual std::unique_ptr< Handler > | handleBannedListChanged (BannedListChangedFn fn)=0 | 
| virtual std::unique_ptr< Handler > | handleNotifyBlockTip (NotifyBlockTipFn fn)=0 | 
| virtual std::unique_ptr< Handler > | handleNotifyHeaderTip (NotifyHeaderTipFn fn)=0 | 
| virtual NodeContext * | context () | 
| Get and set internal node context.  More... | |
| virtual void | setContext (NodeContext *context) | 
| using interfaces::Node::BannedListChangedFn = std::function<void()> | 
| using interfaces::Node::InitMessageFn = std::function<void(const std::string& message)> | 
| using interfaces::Node::MessageBoxFn = std::function<bool(const bilingual_str& message, const std::string& caption, unsigned int style)> | 
| using interfaces::Node::NodesStats = std::vector<std::tuple<CNodeStats, bool, CNodeStateStats> > | 
| using interfaces::Node::NotifyAlertChangedFn = std::function<void()> | 
| using interfaces::Node::NotifyBlockTipFn = std::function<void(SynchronizationState, interfaces::BlockTip tip, double verification_progress)> | 
| using interfaces::Node::NotifyHeaderTipFn = std::function<void(SynchronizationState, interfaces::BlockTip tip, double verification_progress)> | 
| using interfaces::Node::NotifyNetworkActiveChangedFn = std::function<void(bool network_active)> | 
| using interfaces::Node::NotifyNumConnectionsChangedFn = std::function<void(int new_num_connections)> | 
| using interfaces::Node::QuestionFn = std::function<bool(const bilingual_str& message, const std::string& non_interactive_message, const std::string& caption, unsigned int style)> | 
| using interfaces::Node::ShowProgressFn = std::function<void(const std::string& title, int progress, bool resume_possible)> | 
| 
 | pure virtual | 
Start node.
| 
 | pure virtual | 
Stop node.
| 
 | pure virtual | 
Ban node.
| 
 | pure virtual | 
Initialize app dependencies.
| 
 | inlinevirtual | 
| 
 | pure virtual | 
Disconnect node by address.
| 
 | pure virtual | 
Disconnect node by id.
| 
 | pure virtual | 
Execute rpc command.
| 
 | pure virtual | 
List external signers.
| 
 | pure virtual | 
Get ban map entries.
| 
 | pure virtual | 
Get best block hash.
| 
 | pure virtual | 
Get dust relay fee.
| 
 | pure virtual | 
Get header tip height and time.
| 
 | pure virtual | 
Get importing.
| 
 | pure virtual | 
Get last block time.
| 
 | pure virtual | 
| 
 | pure virtual | 
Get mempool dynamic usage.
| 
 | pure virtual | 
Get mempool size.
| 
 | pure virtual | 
Get network active.
| 
 | pure virtual | 
Get number of connections.
| 
 | pure virtual | 
| 
 | pure virtual | 
Get num blocks.
Get proxy.
| 
 | pure virtual | 
Get reindex.
| 
 | pure virtual | 
Get total bytes recv.
| 
 | pure virtual | 
Get total bytes sent.
| 
 | pure virtual | 
Get unspent outputs associated with a transaction.
| 
 | pure virtual | 
Get verification progress.
| 
 | pure virtual | 
Get warnings.
| 
 | pure virtual | 
| 
 | pure virtual | 
| 
 | pure virtual | 
| 
 | pure virtual | 
| 
 | pure virtual | 
| 
 | pure virtual | 
| 
 | pure virtual | 
| 
 | pure virtual | 
| 
 | pure virtual | 
| 
 | pure virtual | 
| 
 | pure virtual | 
Init logging.
| 
 | pure virtual | 
Init parameter interaction.
| 
 | pure virtual | 
Is initial block download.
| 
 | pure virtual | 
List rpc commands.
| 
 | pure virtual | 
Map port.
| 
 | pure virtual | 
Set RPC timer interface if unset.
| 
 | pure virtual | 
Unset RPC timer interface.
| 
 | inlinevirtual | 
| 
 | pure virtual | 
Set network active.
| 
 | pure virtual | 
Return whether shutdown was requested.
| 
 | pure virtual | 
Start shutdown.
| 
 | pure virtual | 
Unban node.
| 
 | pure virtual | 
Get wallet client.