netabase 0.0.5

A peer-to-peer networking layer built on libp2p with integrated type-safe storage, enabling distributed applications with automatic data synchronization across native and WASM environments.
Documentation
[[bench]]
harness = false
name = "dht_operations"
path = "benches/dht_operations.rs"

[dependencies.anyhow]
version = "1.0.100"

[dependencies.bincode]
features = ["derive", "serde", "serde"]
version = "2.0"

[dependencies.blake3]
features = ["serde"]
version = "1.8.2"

[dependencies.chrono]
features = ["serde"]
version = "0.4"

[dependencies.derive_more]
features = ["from", "try_into", "into"]
version = "2.0.1"

[dependencies.env_logger]
optional = true
version = "0.10"

[dependencies.getrandom]
features = ["wasm_js"]
version = "0.3"

[dependencies.js-sys]
optional = true
version = "0.3"

[dependencies.libp2p]
default-features = false
features = ["gossipsub"]
version = "0.56.0"

[dependencies.log]
version = "0.4"

[dependencies.netabase_store]
default-features = false
version = "0.0.5"

[dependencies.once_cell]
version = "1.19"

[dependencies.paxakos]
version = "0.13.0"

[dependencies.serde_json]
optional = true
version = "1.0"

[dependencies.strum]
features = ["derive", "strum_macros"]
version = "0.27.2"

[dependencies.thiserror]
version = "2.0.17"

[dependencies.tokio]
default-features = false
version = "1.47.1"

[dependencies.uuid]
features = ["v4"]
version = "1.0"

[dependencies.wasm-bindgen]
optional = true
version = "0.2"

[dependencies.wasm-bindgen-futures]
optional = true
version = "0.4"

[dependencies.web-sys]
features = ["console"]
optional = true
version = "0.3"

[dev-dependencies.anyhow]
version = "1.0.100"

[dev-dependencies.bincode]
features = ["derive", "serde"]
version = "2.0"

[dev-dependencies.chrono]
features = ["serde"]
version = "0.4"

[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.5"

[dev-dependencies.env_logger]
version = "0.10"

[dev-dependencies.futures]
version = "0.3"

[dev-dependencies.getrandom]
features = ["wasm_js"]
version = "0.3"

[dev-dependencies.log]
version = "0.4"

[dev-dependencies.netabase_deps]
version = "0.0.5"

[dev-dependencies.netabase_store]
features = ["libp2p"]
version = "0.0.5"

[dev-dependencies.pprof]
features = ["flamegraph", "criterion"]
version = "0.13"

[dev-dependencies.rand]
version = "0.8"

[dev-dependencies.serde]
features = ["derive"]
version = "1.0"

[dev-dependencies.serde_json]
version = "1.0"

[dev-dependencies.sled]
version = "0.34.7"

[dev-dependencies.strum]
features = ["derive", "strum_macros"]
version = "0.27.2"

[dev-dependencies.tempfile]
version = "3.0"

[dev-dependencies.tokio]
default-features = false
features = ["full"]
version = "1.47.1"

[dev-dependencies.uuid]
features = ["v4"]
version = "1.0"

[[example]]
name = "simple_mdns_chat"
path = "examples/simple_mdns_chat.rs"

[features]
default = ["native"]
libp2p = ["netabase_store/libp2p"]
native = ["libp2p", "sled", "redb", "netabase_store/native", "libp2p/tcp", "libp2p/quic", "libp2p/mdns", "libp2p/dns", "libp2p/noise", "libp2p/tls", "libp2p/yamux", "libp2p/kad", "libp2p/identify", "libp2p/macros", "libp2p/websocket", "libp2p/tokio", "tokio/full"]
redb = ["netabase_store/redb"]
sled = ["netabase_store/sled"]
wasm = ["libp2p", "netabase_store/wasm", "libp2p/wasm-bindgen", "libp2p/websocket-websys", "libp2p/webrtc-websys", "libp2p/webtransport-websys", "libp2p/noise", "libp2p/yamux", "libp2p/kad", "libp2p/identify", "libp2p/macros", "tokio/macros", "tokio/rt", "tokio/sync", "tokio/time", "web-sys", "js-sys", "wasm-bindgen", "wasm-bindgen-futures", "getrandom/wasm_js"]

[lib]
crate-type = ["cdylib", "rlib"]
name = "netabase"
path = "src/lib.rs"

[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["database"]
description = "A peer-to-peer networking layer built on libp2p with integrated type-safe storage, enabling distributed applications with automatic data synchronization across native and WASM environments."
edition = "2024"
keywords = ["key-value", "storage", "wrapper", "libp2p", "wasm"]
license = "GPL-3.0-only"
name = "netabase"
readme = "README.md"
repository = "https://github.com/newsnet-africa/netabase.git"
version = "0.0.5"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tempfile]
version = "3.0"

[[test]]
harness = true
name = "build_verification"
path = "tests/build_verification.rs"

[[test]]
harness = true
name = "chat_integration_tests"
path = "tests/chat_integration_tests.rs"

[[test]]
harness = false
name = "chat_test_node"
path = "tests/chat_test_node.rs"

[[test]]
harness = true
name = "dht_advanced_tests"
path = "tests/dht_advanced_tests.rs"

[[test]]
harness = false
name = "network_receiver_node"
path = "tests/network_receiver_node.rs"

[[test]]
harness = false
name = "network_sender_node"
path = "tests/network_sender_node.rs"

[[test]]
harness = true
name = "network_topology_tests"
path = "tests/network_topology_tests.rs"

[[test]]
harness = true
name = "p2p_integration_tests"
path = "tests/p2p_integration_tests.rs"

[[test]]
harness = false
name = "test_node"
path = "tests/test_node.rs"

[[test]]
name = "wasm_compilation"
path = "tests/wasm_compilation.rs"