Janus vor 5 Jahren
Ursprung
Commit
a96b7425fc
4 geänderte Dateien mit 88 neuen und 4 gelöschten Zeilen
  1. 1 1
      Cargo.lock
  2. 5 0
      Cargo.toml
  3. 79 0
      src/bin/cashierd.rs
  4. 3 3
      src/service/bitcoin_bridge.rs

+ 1 - 1
Cargo.lock

@@ -1016,8 +1016,8 @@ dependencies = [
  "regex",
  "rocksdb",
  "rusqlite",
- "serde",
  "secp256k1",
+ "serde",
  "serde_json",
  "sha2",
  "signal-hook",

+ 5 - 0
Cargo.toml

@@ -112,9 +112,14 @@ path = "src/bin/tx.rs"
 name = "gatewayd"
 path = "src/bin/gatewayd.rs"
 
+[[bin]]
+name = "cashierd"
+path = "src/bin/cashierd.rs"
+
 [[bin]]
 name = "darkfid"
 path = "src/bin/darkfid.rs"
+
 [[bin]]
 name = "drk"
 path = "src/bin/drk.rs"

+ 79 - 0
src/bin/cashierd.rs

@@ -0,0 +1,79 @@
+use std::net::SocketAddr;
+use std::sync::Arc;
+
+use drk::cli::ServiceCli;
+use drk::service::CashierService;
+use drk::service::BitcoinAddress;
+use drk::Result;
+
+use async_executor::Executor;
+use easy_parallel::Parallel;
+
+fn setup_addr(address: Option<SocketAddr>, default: SocketAddr) -> SocketAddr {
+    match address {
+        Some(addr) => addr,
+        None => default,
+    }
+}
+
+async fn start(executor: Arc<Executor<'_>>, options: ServiceCli) -> Result<()> {
+    let accept_addr: SocketAddr = setup_addr(options.accept_addr, "127.0.0.1:7777".parse()?);
+    //let pub_addr: SocketAddr = setup_addr(options.pub_addr, "127.0.0.1:8888".parse()?);
+    //let database_path = options.database_path.clone();
+
+    //let database_path = join_config_path(&(*database_path))?;
+    //let rocks = Rocks::new(&database_path)?;
+    //let rocks_slabstore_column = RocksColumn::<columns::Slabs>::new(rocks);
+
+    let cashier = CashierService::new(accept_addr)?;
+
+    cashier.start(executor.clone()).await?;
+    Ok(())
+}
+
+
+fn main() -> Result<()> {
+
+    let btc = BitcoinAddress::new();
+
+    use simplelog::*;
+
+    let ex = Arc::new(Executor::new());
+    let (signal, shutdown) = async_channel::unbounded::<()>();
+
+    let options = ServiceCli::load()?;
+
+    let logger_config = ConfigBuilder::new().set_time_format_str("%T%.6f").build();
+
+    let debug_level = if options.verbose {
+        LevelFilter::Debug
+    } else {
+        LevelFilter::Off
+    };
+
+    CombinedLogger::init(vec![
+        TermLogger::new(debug_level, logger_config, TerminalMode::Mixed).unwrap(),
+        WriteLogger::new(
+            LevelFilter::Debug,
+            Config::default(),
+            std::fs::File::create(options.log_path.as_path()).unwrap(),
+        ),
+    ])
+        .unwrap();
+
+    let ex2 = ex.clone();
+
+    let (_, result) = Parallel::new()
+        // Run four executor threads.
+        .each(0..3, |_| smol::future::block_on(ex.run(shutdown.recv())))
+        // Run the main future on the current thread.
+        .finish(|| {
+            smol::future::block_on(async move {
+                start(ex2, options).await?;
+                drop(signal);
+                Ok::<(), drk::Error>(())
+            })
+        });
+
+    result
+}

+ 3 - 3
src/service/bitcoin_bridge.rs

@@ -46,22 +46,22 @@ impl BitcoinAddress {
             pub_address,
         }))
     }
+    // pub fn get_deposit_address(&self) -> BitcoinAddress::pub_address {
+    //     &Self {pub_address}
+    // }
 }
 
 pub struct CashierService {
     addr: SocketAddr,
-    pub_addr: SocketAddr,
 }
 
 impl CashierService {
     pub fn new(
         addr: SocketAddr,
-        pub_addr: SocketAddr,
     )-> Result<Arc<CashierService>> {
 
         Ok(Arc::new(CashierService {
             addr,
-            pub_addr,
         }))
     }
     pub async fn start(self: Arc<Self>, executor: Arc<Executor<'_>>) -> Result<()> {