[package] name = "erl_iroh" version = "0.1.0" edition = "2021" description = "Distributed Erlang protocol over iroh P2P + TLS, with a bot powers SDK" license = "MIT OR Apache-2.0" readme = "README.md" keywords = ["erlang", "iroh", "p2p", "distribution", "beam"] categories = ["network-programming", "asynchronous"] # Demo sources live under examples/ but are installed as [[bin]] flake apps. autoexamples = false [dependencies] # Erlang distribution + ETF erl_dist = "0.8" eetf = "0.11" # P2P transport (QUIC + TLS + holepunch) iroh = "1.0" # Async runtime tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "time", "sync", "io-util", "signal"] } tokio-util = { version = "0.7", features = ["compat"] } futures = "0.3" async-dup = "1.2" # TLS for classic TCP path (security pedants) tokio-rustls = "0.26" rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] } rustls-pki-types = "1" rustls-pemfile = "2" webpki-roots = "0.26" # Errors / utils thiserror = "2" anyhow = "1" bytes = "1" tracing = "0.1" rand = "0.8" bitflags = "2" # CLI demos (also used as flake apps) tracing-subscriber = { version = "0.3", features = ["env-filter"] } clap = { version = "4", features = ["derive"] } [dev-dependencies] tempfile = "3" rcgen = "0.13" [[bin]] name = "erl-iroh-demo" path = "examples/two_bots.rs" [[bin]] name = "erl-iroh-bot" path = "examples/bot.rs" [[bin]] name = "erl-iroh-peer" path = "examples/peer.rs"