![]() |
Bitcoin Core 32.1.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. | |
| using | InitMessageFn = std::function<void(const std::string& message)> |
| Register handler for init messages. | |
| using | MessageBoxFn = std::function<void(const bilingual_str& message, unsigned int style)> |
| Register handler for message box messages. | |
| using | QuestionFn |
| Register handler for question messages. | |
| using | ShowProgressFn = std::function<void(const std::string& title, int progress, bool resume_possible)> |
| Register handler for progress messages. | |
| using | InitWalletFn = std::function<void()> |
| Register handler for wallet loader constructed messages. | |
| using | NotifyNumConnectionsChangedFn = std::function<void(int new_num_connections)> |
| Register handler for number of connections changed messages. | |
| using | NotifyNetworkActiveChangedFn = std::function<void(bool network_active)> |
| Register handler for network active messages. | |
| using | NotifyAlertChangedFn = std::function<void()> |
| Register handler for notify alert messages. | |
| using | BannedListChangedFn = std::function<void()> |
| Register handler for ban list messages. | |
| using | NotifyBlockTipFn |
| Register handler for block tip messages. | |
| using | NotifyHeaderTipFn |
| Register handler for header tip messages. | |
Public Member Functions | |
| virtual | ~Node ()=default |
| virtual void | initLogging ()=0 |
| Init logging. | |
| virtual void | initParameterInteraction ()=0 |
| Init parameter interaction. | |
| virtual bilingual_str | getWarnings ()=0 |
| Get warnings. | |
| virtual int | getExitStatus ()=0 |
| Get exit status. | |
| virtual BCLog::CategoryMask | getLogCategories ()=0 |
| virtual bool | baseInitialize ()=0 |
| Initialize app dependencies. | |
| virtual bool | appInitMain (interfaces::BlockAndHeaderTipInfo *tip_info=nullptr)=0 |
| Start node. | |
| virtual void | appShutdown ()=0 |
| Stop node. | |
| virtual void | startShutdown ()=0 |
| Start shutdown. | |
| virtual bool | shutdownRequested ()=0 |
| Return whether shutdown was requested. | |
| virtual bool | isSettingIgnored (const std::string &name)=0 |
| virtual common::SettingsValue | getPersistentSetting (const std::string &name)=0 |
| Return setting value from <datadir>/settings.json or bitcoin.conf. | |
| virtual void | updateRwSetting (const std::string &name, const common::SettingsValue &value)=0 |
| Update a setting in <datadir>/settings.json. | |
| virtual void | forceSetting (const std::string &name, const common::SettingsValue &value)=0 |
| virtual void | resetSettings ()=0 |
| virtual void | mapPort (bool enable)=0 |
| Map port. | |
| virtual std::optional< Proxy > | getProxy (Network net)=0 |
| Get proxy. | |
| virtual size_t | getNodeCount (ConnectionDirection flags)=0 |
| Get number of connections. | |
| virtual bool | getNodesStats (NodesStats &stats)=0 |
| virtual bool | getBanned (banmap_t &banmap)=0 |
| Get ban map entries. | |
| virtual bool | ban (const CNetAddr &net_addr, int64_t ban_time_offset)=0 |
| Ban node. | |
| virtual bool | unban (const CSubNet &ip)=0 |
| Unban node. | |
| virtual bool | disconnectByAddress (const CNetAddr &net_addr)=0 |
| Disconnect node by address. | |
| virtual bool | disconnectById (NodeId id)=0 |
| Disconnect node by id. | |
| virtual std::vector< std::unique_ptr< ExternalSigner > > | listExternalSigners ()=0 |
| Return list of external signers (attached devices which can sign transactions). | |
| virtual int64_t | getTotalBytesRecv ()=0 |
| Get total bytes recv. | |
| virtual int64_t | getTotalBytesSent ()=0 |
| Get total bytes sent. | |
| virtual size_t | getMempoolSize ()=0 |
| Get mempool size. | |
| virtual size_t | getMempoolDynamicUsage ()=0 |
| Get mempool dynamic usage. | |
| virtual size_t | getMempoolMaxUsage ()=0 |
| Get mempool maximum memory usage. | |
| virtual bool | getHeaderTip (int &height, int64_t &block_time)=0 |
| Get header tip height and time. | |
| virtual int | getNumBlocks ()=0 |
| Get num blocks. | |
| virtual std::map< CNetAddr, LocalServiceInfo > | getNetLocalAddresses ()=0 |
| Get network local addresses. | |
| virtual uint256 | getBestBlockHash ()=0 |
| Get best block hash. | |
| virtual int64_t | getLastBlockTime ()=0 |
| Get last block time. | |
| virtual double | getVerificationProgress ()=0 |
| Get verification progress. | |
| virtual bool | isInitialBlockDownload ()=0 |
| Is initial block download. | |
| virtual bool | isLoadingBlocks ()=0 |
| Is loading blocks. | |
| virtual void | setNetworkActive (bool active)=0 |
| Set network active. | |
| virtual bool | getNetworkActive ()=0 |
| Get network active. | |
| virtual CFeeRate | getDustRelayFee ()=0 |
| Get dust relay fee. | |
| virtual UniValue | executeRpc (const std::string &command, const UniValue ¶ms, const std::string &uri)=0 |
| Execute rpc command. | |
| virtual std::vector< std::string > | listRpcCommands ()=0 |
| List rpc commands. | |
| virtual std::optional< Coin > | getUnspentOutput (const COutPoint &output)=0 |
| Get unspent output associated with a transaction. | |
| virtual node::TransactionError | broadcastTransaction (CTransactionRef tx, CAmount max_tx_fee, std::string &err_string)=0 |
| Broadcast transaction. | |
| virtual WalletLoader & | walletLoader ()=0 |
| Get wallet loader. | |
| 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 > | handleInitWallet (InitWalletFn 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 () |
| 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::InitWalletFn = std::function<void()> |
| using interfaces::Node::MessageBoxFn = std::function<void(const bilingual_str& message, unsigned int style)> |
| using interfaces::Node::NodesStats = std::vector<std::tuple<CNodeStats, bool, CNodeStateStats>> |
| using interfaces::Node::NotifyAlertChangedFn = std::function<void()> |
Register handler for block tip messages.
Register handler for header tip messages.
| using interfaces::Node::NotifyNetworkActiveChangedFn = std::function<void(bool network_active)> |
| using interfaces::Node::NotifyNumConnectionsChangedFn = std::function<void(int new_num_connections)> |
Register handler for question messages.
| using interfaces::Node::ShowProgressFn = std::function<void(const std::string& title, int progress, bool resume_possible)> |
|
virtualdefault |
|
pure virtual |
Start node.
|
pure virtual |
Stop node.
|
pure virtual |
Ban node.
|
pure virtual |
Initialize app dependencies.
|
pure virtual |
Broadcast transaction.
|
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 exit status.
|
pure virtual |
Get header tip height and time.
|
pure virtual |
Get last block time.
|
pure virtual |
|
pure virtual |
Get mempool dynamic usage.
|
pure virtual |
Get mempool maximum memory usage.
|
pure virtual |
Get mempool size.
|
pure virtual |
Get network local addresses.
|
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 output 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 |
|
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 is or would be ignored because it is also specified in the command line.
|
pure virtual |
Return list of external signers (attached devices which can sign transactions).
|
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.
|
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 loader.