[package]
name = "pkarr"
version = "2.2.0"
authors = ["Nuh <nuh@nuh.dev>"]
edition = "2021"
description = "Public-Key Addressable Resource Records (Pkarr); publish and resolve DNS records over Mainline DHT"
license = "MIT"
repository = "https://git.pkarr.org"
keywords = ["mainline", "dht", "dns", "decentralized", "identity"]
[dependencies]
bytes = "1.7.1"
document-features = "0.2.8"
ed25519-dalek = "2.0.0"
self_cell = "1.0.2"
simple-dns = "0.6.1"
thiserror = "1.0.49"
tracing = "0.1.40"
z32 = "1.1.1"
rand = { version = "0.8.5", optional = true }
lru = { version = "0.12.3", default-features = false }
flume = { version = "0.11.0", features = ["select", "eventual-fairness"], default-features = false }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
mainline = { version = "2.0.1", optional = true }
dyn-clone = { version = "1.0.17", optional = true }
ureq = { version = "2.10", default-features = false, features = ["tls"], optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
futures = "0.3.29"
js-sys = "0.3.69"
wasm-bindgen = "0.2.92"
wasm-bindgen-futures = "0.4.42"
web-sys = { version = "0.3.69", features = [
"console",
"Request",
"RequestInit",
"RequestMode",
"Response",
"Window",
] }
[dev-dependencies]
futures = "0.3.29"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
clap = { version = "4.4.8", features = ["derive"] }
mockito = "1.4.0"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen-test = "0.3.42"
[features]
dht = ["dep:mainline", "dep:dyn-clone"]
rand = ["dep:rand", "ed25519-dalek/rand_core"]
async = ["flume/async"]
relay = ["dep:ureq"]
full = ["dht", "async", "relay", "rand"]
default = ["dht", "rand"]
[package.metadata.docs.rs]
all-features = true