Oleksandr Pravdyvyi 52a3ff9cbf fix: update 1
2024-12-22 16:14:52 +02:00

48 lines
1.3 KiB
Rust

use std::{path::PathBuf, sync::Arc};
use anyhow::Result;
use consensus::ConsensusManager;
use log::info;
use networking::peer_manager::PeerManager;
use node_core::{config::NodeConfig, NodeCore};
use node_rpc::new_http_server;
use rpc_primitives::RpcConfig;
use tokio::sync::Mutex;
pub async fn main_runner() -> Result<()> {
env_logger::init();
//ToDo: Change it
let node_config = NodeConfig {
home: PathBuf::new(),
override_rust_log: None,
sequencer_addr: "addr".to_string(),
seq_poll_timeout_secs: 1,
};
let node_core = NodeCore::start_from_config_update_chain(node_config.clone()).await?;
let wrapped_node_core = Arc::new(Mutex::new(node_core));
let http_server = new_http_server(
RpcConfig::default(),
node_config.clone(),
wrapped_node_core.clone(),
)?;
info!("HTTP server started");
let _http_server_handle = http_server.handle();
tokio::spawn(http_server);
let peer_manager = PeerManager::start_peer_manager(4, 0).await?;
info!("Peer manager mock started");
let peer_manager_shared = Arc::new(Mutex::new(peer_manager));
let _consensus_manager = ConsensusManager::new(peer_manager_shared.clone());
info!("Consensus manger mock started");
#[allow(clippy::empty_loop)]
loop {
//ToDo: Insert activity into main loop
}
}