![]() |
Bitcoin ABC 0.31.1
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, bool presync)> |
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 bool | baseInitialize (Config &config)=0 |
Initialize app dependencies. More... | |
virtual bool | appInitMain (Config &config, RPCServer &rpcServer, HTTPRPCRequestProcessor &httpRPCRequestProcessor, 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 bool | isPersistentSettingIgnored (const std::string &name)=0 |
Return whether a particular setting in <datadir>/settings.json would be ignored because it is also specified in the command line. More... | |
virtual util::SettingsValue | getPersistentSetting (const std::string &name)=0 |
Return setting value from <datadir>/settings.json or bitcoin.conf. More... | |
virtual void | updateRwSetting (const std::string &name, const util::SettingsValue &value)=0 |
Update a setting in <datadir>/settings.json. More... | |
virtual void | forceSetting (const std::string &name, const util::SettingsValue &value)=0 |
Force a setting value to be applied, overriding any other configuration source, but not being persisted. More... | |
virtual void | resetSettings ()=0 |
Clear all settings in <datadir>/settings.json and store a backup of previous settings in <datadir>/settings.json.bak. 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 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 BlockHash | 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 | isLoadingBlocks ()=0 |
Is loading blocks. 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 Config &config, 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 node::NodeContext * | context () |
Get and set internal node context. More... | |
virtual void | setContext (node::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, bool presync)> |
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 |
Force a setting value to be applied, overriding any other configuration source, but not being persisted.
|
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 last block time.
|
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.
|
pure virtual |
Return setting value from <datadir>/settings.json or bitcoin.conf.
Get proxy.
|
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 |
Is loading blocks.
|
pure virtual |
Return whether a particular setting in <datadir>/settings.json would be ignored because it is also specified in the command line.
|
pure virtual |
List rpc commands.
|
pure virtual |
Map port.
|
pure virtual |
Clear all settings in <datadir>/settings.json and store a backup of previous settings in <datadir>/settings.json.bak.
|
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 |
Update a setting in <datadir>/settings.json.
|
pure virtual |
Get wallet client.