TOML · 1990 bytes Raw Blame History
1 [package]
2 name = "zephyrfs-node"
3 version = "0.1.0"
4 edition = "2021"
5 authors = ["espadonne (mfw)"]
6 license = "MIT"
7 description = "Core P2P node implementation for ZephyrFS distributed storage"
8 repository = "https://github.com/ZephyrFS/zephyrfs-node"
9
10 [dependencies]
11 # LibP2P networking stack
12 libp2p = { version = "0.54", features = [
13 "tcp",
14 "mdns",
15 "noise",
16 "yamux",
17 "kad",
18 "ping",
19 "identify",
20 "gossipsub",
21 "dcutr",
22 "tokio",
23 "macros"
24 ]}
25 tokio = { version = "1.39", features = ["full"] }
26
27 # Storage and database
28 rocksdb = { version = "0.24", default-features = false, features = ["snappy", "lz4", "zstd"] }
29 serde = { version = "1.0", features = ["derive"] }
30 serde_json = "1.0"
31 serde_yaml = "0.9"
32 bincode = "1.3"
33 tempfile = "3.8"
34
35 # Cryptography and hashing
36 blake3 = "1.5"
37 sha2 = "0.10"
38 rand = "0.8"
39 hex = "0.4"
40
41 # Phase 2: Advanced cryptography
42 ring = "0.17" # AES-256-GCM, SHA-256, secure crypto primitives
43 scrypt = "0.11" # Key derivation from passwords
44 zeroize = "1.7" # Secure memory clearing
45 constant_time_eq = "0.3" # Timing-safe comparisons
46 rand_core = "0.6" # Cryptographic randomness
47
48 # TLS and networking security
49 rustls = "0.23" # TLS 1.3 implementation
50 rustls-pemfile = "2.0" # Certificate management
51
52 # Protocol buffers
53 prost = "0.13"
54 prost-types = "0.13"
55 tonic = "0.12"
56
57 # Logging and tracing
58 tracing = "0.1"
59 tracing-subscriber = { version = "0.3", features = ["env-filter"] }
60
61 # Error handling
62 anyhow = "1.0"
63 thiserror = "1.0"
64
65 # Configuration
66 config = "0.14"
67 clap = { version = "4.5", features = ["derive"] }
68
69 # Async utilities
70 futures = "0.3"
71 async-trait = "0.1"
72
73 # Coordinator integration
74 uuid = { version = "1.6", features = ["v4", "serde"] }
75 chrono = { version = "0.4", features = ["serde"] }
76 hyper = "1.0"
77
78 [build-dependencies]
79 tonic-build = "0.12"
80
81 [[bin]]
82 name = "zephyrfs-node"
83 path = "src/main.rs"
84
85 [profile.release]
86 codegen-units = 1
87 lto = true
88 panic = "abort"