mid coding commit
This commit is contained in:
48
core/archipelago/src/main.rs
Normal file
48
core/archipelago/src/main.rs
Normal file
@@ -0,0 +1,48 @@
|
||||
// Archipelago Bitcoin Node OS - Native Backend
|
||||
// Pure Archipelago implementation, no StartOS dependencies
|
||||
|
||||
use anyhow::Result;
|
||||
use std::net::SocketAddr;
|
||||
use tracing::{info, error};
|
||||
|
||||
mod api;
|
||||
mod auth;
|
||||
mod config;
|
||||
mod container;
|
||||
mod server;
|
||||
|
||||
use config::Config;
|
||||
use server::Server;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<()> {
|
||||
// Initialize tracing
|
||||
tracing_subscriber::fmt()
|
||||
.with_env_filter(
|
||||
tracing_subscriber::EnvFilter::try_from_default_env()
|
||||
.unwrap_or_else(|_| "archipelago=debug,info".into()),
|
||||
)
|
||||
.init();
|
||||
|
||||
info!("🚀 Starting Archipelago Bitcoin Node OS");
|
||||
|
||||
// Load configuration
|
||||
let config = Config::load().await?;
|
||||
info!("📁 Data directory: {}", config.data_dir.display());
|
||||
|
||||
// Create server
|
||||
let server = Server::new(config.clone()).await?;
|
||||
|
||||
// Start server
|
||||
let addr: SocketAddr = format!("{}:{}", config.bind_host, config.bind_port)
|
||||
.parse()
|
||||
.expect("Invalid bind address");
|
||||
|
||||
info!("🌐 Server listening on http://{}", addr);
|
||||
info!("📡 RPC API: http://{}/rpc/v1", addr);
|
||||
info!("🔌 WebSocket: ws://{}/ws", addr);
|
||||
|
||||
server.serve(addr).await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user