Skip to content

Commit 0b60ac7

Browse files
Merge pull request #117 from catalyst-network/core-functionality
Initial DFS crate built
2 parents ffbfd89 + 551b5ba commit 0b60ac7

File tree

11 files changed

+3861
-24
lines changed

11 files changed

+3861
-24
lines changed

crates/catalyst-dfs/Cargo.toml

Lines changed: 48 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,32 @@ version = "0.1.0"
44
edition = "2021"
55
description = "Distributed File System for Catalyst Network based on IPFS"
66
license = "MIT OR Apache-2.0"
7+
repository = "https://github.com/catalyst-network/catalyst-dfs"
8+
documentation = "https://docs.rs/catalyst-dfs"
9+
keywords = ["blockchain", "ipfs", "distributed", "storage", "p2p"]
10+
categories = ["network-programming", "filesystem", "cryptography"]
711

812
[dependencies]
13+
# Core Catalyst dependencies
914
catalyst-core = { path = "../catalyst-core" }
10-
catalyst-crypto = { path = "../catalyst-crypto" }
1115

12-
# IPFS implementation
13-
libipld = { version = "0.16", features = ["dag-cbor", "dag-json"] }
14-
libp2p = { version = "0.53", features = ["kad", "request-response"] }
15-
libp2p-bitswap = "0.25" # Separate bitswap implementation
16+
# IPFS and content addressing
1617
cid = "0.10"
1718
multihash = "0.19"
1819

19-
# Async support
20+
# Networking with libp2p
21+
libp2p = { version = "0.53", features = [
22+
"kad",
23+
"request-response",
24+
"gossipsub",
25+
"identify",
26+
"noise",
27+
"tcp",
28+
"yamux",
29+
"async-std"
30+
] }
31+
32+
# Async runtime
2033
tokio = { version = "1.0", features = ["full"] }
2134
tokio-util = { version = "0.7", features = ["codec"] }
2235
futures = "0.3"
@@ -26,17 +39,42 @@ async-trait = "0.1"
2639
serde = { version = "1.0", features = ["derive"] }
2740
serde_json = "1.0"
2841

42+
# Database and storage
43+
rocksdb = "0.21"
44+
45+
# Time handling
46+
chrono = { version = "0.4", features = ["serde"] }
47+
2948
# Error handling
3049
thiserror = "1.0"
3150
anyhow = "1.0"
3251

33-
# Storage
34-
rocksdb = "0.21"
35-
3652
# Utilities
3753
log = "0.4"
3854
uuid = { version = "1.0", features = ["v4"] }
3955

4056
[dev-dependencies]
4157
tempfile = "3.0"
42-
tokio-test = "0.4"
58+
tokio-test = "0.4"
59+
criterion = { version = "0.5", features = ["html_reports", "async_tokio"] }
60+
futures = "0.3"
61+
62+
[features]
63+
default = ["full"]
64+
full = ["networking", "storage", "provider"]
65+
networking = []
66+
storage = []
67+
provider = []
68+
69+
[[bench]]
70+
name = "dfs_benchmarks"
71+
harness = false
72+
path = "benches/dfs_benchmarks.rs"
73+
74+
[profile.release]
75+
lto = true
76+
codegen-units = 1
77+
panic = "abort"
78+
79+
[profile.bench]
80+
debug = true

0 commit comments

Comments
 (0)