TARAXA
taraxa::FullNode Class Reference

#include <node.hpp>

Collaboration diagram for taraxa::FullNode:

Public Member Functions

 FullNode (FullNodeConfig const &conf)
 
 ~FullNode ()
 
 FullNode (const FullNode &)=delete
 
 FullNode (FullNode &&)=delete
 
FullNodeoperator= (const FullNode &)=delete
 
FullNodeoperator= (FullNode &&)=delete
 
void start ()
 
bool isStarted () const
 
auto const & getConfig () const
 
auto const & getNetwork () const
 
auto const & getTransactionManager () const
 
auto const & getDagManager () const
 
auto const & getDB () const
 
auto const & getPbftManager () const
 
auto const & getVoteManager () const
 
auto const & getPbftChain () const
 
auto const & getFinalChain () const
 
auto & getDagBlockProposer ()
 
auto const & getGasPricer () const
 
auto const & getAddress () const
 
auto const & getSecretKey () const
 
auto const & getVrfSecretKey () const
 
std::shared_ptr< pillar_chain::PillarChainManagergetPillarChainManager () const
 
uint64_t getProposedBlocksCount () const
 
void rebuildDb ()
 

Private Types

using JsonRpcServer = ModularServer< net::TaraxaFace, net::NetFace, net::EthFace, net::TestFace, net::DebugFace >
 

Private Member Functions

void init ()
 
void close ()
 
void setupMetricsUpdaters ()
 Method that is used to register metrics updaters. So we don't need to pass metrics classes instances in other classes. More...
 

Private Attributes

std::unique_ptr< util::ThreadPoolrpc_thread_pool_
 
std::unique_ptr< util::ThreadPoolgraphql_thread_pool_
 
util::ThreadPool subscription_pool_
 
std::atomic< bool > stopped_ = true
 
FullNodeConfig conf_
 
dev::KeyPair kp_
 
std::shared_ptr< DbStoragedb_
 
std::shared_ptr< DbStorageold_db_
 
std::shared_ptr< GasPricergas_pricer_
 
std::shared_ptr< DagManagerdag_mgr_
 
std::shared_ptr< TransactionManagertrx_mgr_
 
std::shared_ptr< Networknetwork_
 
std::shared_ptr< DagBlockProposerdag_block_proposer_
 
std::shared_ptr< VoteManagervote_mgr_
 
std::shared_ptr< PbftManagerpbft_mgr_
 
std::shared_ptr< PbftChainpbft_chain_
 
std::shared_ptr< pillar_chain::PillarChainManagerpillar_chain_mgr_
 
std::shared_ptr< KeyManagerkey_manager_
 
std::shared_ptr< final_chain::FinalChainfinal_chain_
 
std::shared_ptr< net::HttpServerjsonrpc_http_
 
std::shared_ptr< net::HttpServergraphql_http_
 
std::shared_ptr< net::WsServerjsonrpc_ws_
 
std::shared_ptr< net::WsServergraphql_ws_
 
std::unique_ptr< JsonRpcServerjsonrpc_api_
 
std::unique_ptr< metrics::MetricsServicemetrics_
 
LOG_OBJECTS_DEFINE std::atomic_bool started_ = 0
 

Member Typedef Documentation

◆ JsonRpcServer

Constructor & Destructor Documentation

◆ FullNode() [1/3]

taraxa::FullNode::FullNode ( FullNodeConfig const &  conf)
explicit

◆ ~FullNode()

taraxa::FullNode::~FullNode ( )

◆ FullNode() [2/3]

taraxa::FullNode::FullNode ( const FullNode )
delete

◆ FullNode() [3/3]

taraxa::FullNode::FullNode ( FullNode &&  )
delete

Member Function Documentation

◆ close()

void taraxa::FullNode::close ( )
private

◆ getAddress()

auto const& taraxa::FullNode::getAddress ( ) const
inline

◆ getConfig()

auto const& taraxa::FullNode::getConfig ( ) const
inline

◆ getDagBlockProposer()

auto& taraxa::FullNode::getDagBlockProposer ( )
inline

◆ getDagManager()

auto const& taraxa::FullNode::getDagManager ( ) const
inline

◆ getDB()

auto const& taraxa::FullNode::getDB ( ) const
inline

◆ getFinalChain()

auto const& taraxa::FullNode::getFinalChain ( ) const
inline

◆ getGasPricer()

auto const& taraxa::FullNode::getGasPricer ( ) const
inline

◆ getNetwork()

auto const& taraxa::FullNode::getNetwork ( ) const
inline

◆ getPbftChain()

auto const& taraxa::FullNode::getPbftChain ( ) const
inline

◆ getPbftManager()

auto const& taraxa::FullNode::getPbftManager ( ) const
inline

◆ getPillarChainManager()

std::shared_ptr<pillar_chain::PillarChainManager> taraxa::FullNode::getPillarChainManager ( ) const
inline

◆ getProposedBlocksCount()

uint64_t taraxa::FullNode::getProposedBlocksCount ( ) const

◆ getSecretKey()

auto const& taraxa::FullNode::getSecretKey ( ) const
inline

◆ getTransactionManager()

auto const& taraxa::FullNode::getTransactionManager ( ) const
inline

◆ getVoteManager()

auto const& taraxa::FullNode::getVoteManager ( ) const
inline

◆ getVrfSecretKey()

auto const& taraxa::FullNode::getVrfSecretKey ( ) const
inline

◆ init()

void taraxa::FullNode::init ( )
private

◆ isStarted()

bool taraxa::FullNode::isStarted ( ) const
inline

◆ operator=() [1/2]

FullNode& taraxa::FullNode::operator= ( const FullNode )
delete

◆ operator=() [2/2]

FullNode& taraxa::FullNode::operator= ( FullNode &&  )
delete

◆ rebuildDb()

void taraxa::FullNode::rebuildDb ( )

◆ setupMetricsUpdaters()

void taraxa::FullNode::setupMetricsUpdaters ( )
private

Method that is used to register metrics updaters. So we don't need to pass metrics classes instances in other classes.

◆ start()

void taraxa::FullNode::start ( )

Member Data Documentation

◆ conf_

FullNodeConfig taraxa::FullNode::conf_
private

◆ dag_block_proposer_

std::shared_ptr<DagBlockProposer> taraxa::FullNode::dag_block_proposer_
private

◆ dag_mgr_

std::shared_ptr<DagManager> taraxa::FullNode::dag_mgr_
private

◆ db_

std::shared_ptr<DbStorage> taraxa::FullNode::db_
private

◆ final_chain_

std::shared_ptr<final_chain::FinalChain> taraxa::FullNode::final_chain_
private

◆ gas_pricer_

std::shared_ptr<GasPricer> taraxa::FullNode::gas_pricer_
private

◆ graphql_http_

std::shared_ptr<net::HttpServer> taraxa::FullNode::graphql_http_
private

◆ graphql_thread_pool_

std::unique_ptr<util::ThreadPool> taraxa::FullNode::graphql_thread_pool_
private

◆ graphql_ws_

std::shared_ptr<net::WsServer> taraxa::FullNode::graphql_ws_
private

◆ jsonrpc_api_

std::unique_ptr<JsonRpcServer> taraxa::FullNode::jsonrpc_api_
private

◆ jsonrpc_http_

std::shared_ptr<net::HttpServer> taraxa::FullNode::jsonrpc_http_
private

◆ jsonrpc_ws_

std::shared_ptr<net::WsServer> taraxa::FullNode::jsonrpc_ws_
private

◆ key_manager_

std::shared_ptr<KeyManager> taraxa::FullNode::key_manager_
private

◆ kp_

dev::KeyPair taraxa::FullNode::kp_
private

◆ metrics_

std::unique_ptr<metrics::MetricsService> taraxa::FullNode::metrics_
private

◆ network_

std::shared_ptr<Network> taraxa::FullNode::network_
private

◆ old_db_

std::shared_ptr<DbStorage> taraxa::FullNode::old_db_
private

◆ pbft_chain_

std::shared_ptr<PbftChain> taraxa::FullNode::pbft_chain_
private

◆ pbft_mgr_

std::shared_ptr<PbftManager> taraxa::FullNode::pbft_mgr_
private

◆ pillar_chain_mgr_

std::shared_ptr<pillar_chain::PillarChainManager> taraxa::FullNode::pillar_chain_mgr_
private

◆ rpc_thread_pool_

std::unique_ptr<util::ThreadPool> taraxa::FullNode::rpc_thread_pool_
private

◆ started_

LOG_OBJECTS_DEFINE std::atomic_bool taraxa::FullNode::started_ = 0
private

◆ stopped_

std::atomic<bool> taraxa::FullNode::stopped_ = true
private

◆ subscription_pool_

util::ThreadPool taraxa::FullNode::subscription_pool_
private

◆ trx_mgr_

std::shared_ptr<TransactionManager> taraxa::FullNode::trx_mgr_
private

◆ vote_mgr_

std::shared_ptr<VoteManager> taraxa::FullNode::vote_mgr_
private

The documentation for this class was generated from the following files: