Browse Source

Serialize bridgedb and its public key to files.

Vecna 2 years ago
parent
commit
cf066b1937
2 changed files with 19 additions and 8 deletions
  1. 3 2
      Cargo.toml
  2. 16 6
      src/bin/bridgedb.rs

+ 3 - 2
Cargo.toml

@@ -6,5 +6,6 @@ edition = "2021"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-lox = { git = "https://git-crysp.uwaterloo.ca/iang/lox.git" }
-ed25519-dalek = "1"
+lox = { git = "https://git-crysp.uwaterloo.ca/iang/lox.git", branch = "vvecna/lox_test" }
+serde = "1"
+serde_json = "1.0"

+ 16 - 6
src/bin/bridgedb.rs

@@ -6,10 +6,20 @@ fn main() {
     // create new bridgedb (implicitly generates keys)
     let bridgedb = BridgeDb::new();
 
-    // output public key to new file
-    let pubkey_bytes = bridgedb.pubkey.to_bytes();
-    let mut outfile =
-        File::create("bridgedb_pubkey").expect("Failed to create pubkey file");
-    outfile.write_all(&pubkey_bytes)
-        .expect("Failed to write pubkey");
+    // output full serialized bridgedb
+    let mut bridgedb_outfile =
+        File::create("bridgedb.json").expect("Failed to create bridgedb.json");
+    let bridgedb_outfile_json = serde_json::to_string(&bridgedb).unwrap();
+    write!(bridgedb_outfile, "{}", bridgedb_outfile_json)
+        .expect("Failed to write to bridgedb.json");
+
+    // output bridgedb public key
+    let mut bridgedb_pubkey_outfile =
+        File::create("bridgedb_pubkey.json").expect("Failed to create bridgedb_pubkey.json");
+    write!(
+        bridgedb_pubkey_outfile,
+        "{}",
+        serde_json::to_string(&bridgedb.pubkey).unwrap()
+    )
+    .expect("Failed to write to bridgedb_pubkey.json");
 }