[package] name = "archipelago" version = "0.1.0" edition = "2021" description = "Archipelago Bitcoin Node OS - Native backend" authors = ["Archipelago Team"] [[bin]] name = "archipelago" path = "src/main.rs" [dependencies] # Core dependencies tokio = { version = "1", features = ["full"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" anyhow = "1.0" thiserror = "1.0" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } # HTTP and WebSocket hyper = { version = "0.14", features = ["full", "http1"] } hyper-util = { version = "0.1", features = ["full", "http1"] } http-body-util = "0.1" http-body = "1.0" tower = "0.5" tower-http = { version = "0.6", features = ["cors", "trace"] } hyper-ws-listener = "0.3.0" tokio-tungstenite = "0.20" futures-util = "0.3" # Our modules archipelago-container = { path = "../container" } archipelago-security = { path = "../security" } archipelago-performance = { path = "../performance" } archipelago-parmanode = { path = "../parmanode" } # Database (optional for now - can use SQLite or skip) # sqlx = { version = "0.7", features = ["sqlite", "runtime-tokio-rustls"] } # Authentication bcrypt = "0.15" uuid = { version = "1.0", features = ["v4"] } # Node identity (Ed25519) ed25519-dalek = { version = "2.1", features = ["rand_core"] } rand = "0.8" hex = "0.4" bs58 = "0.5" chrono = "0.4" # Configuration toml = "0.8" serde_yaml = "0.9" # HTTP client (for LND REST proxy, Tor SOCKS for peer messaging) reqwest = { version = "0.11", features = ["json", "socks"] } # Nostr (node discovery) nostr-sdk = "0.44" [dev-dependencies] tokio-test = "0.4"