Distributed Erlang over iroh P2P + TLS, with a bot powers SDK
1.4 kB
58 lines
1[package]
2name = "erl_iroh"
3version = "0.1.0"
4edition = "2021"
5description = "Distributed Erlang protocol over iroh P2P + TLS, with a bot powers SDK"
6license = "MIT OR Apache-2.0"
7readme = "README.md"
8keywords = ["erlang", "iroh", "p2p", "distribution", "beam"]
9categories = ["network-programming", "asynchronous"]
10
11[dependencies]
12# Erlang distribution + ETF
13erl_dist = "0.8"
14eetf = "0.11"
15
16# P2P transport (QUIC + TLS + holepunch)
17iroh = "1.0"
18
19# Async runtime
20tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "time", "sync", "io-util", "signal"] }
21tokio-util = { version = "0.7", features = ["compat"] }
22futures = "0.3"
23async-dup = "1.2"
24
25# TLS for classic TCP path (security pedants)
26tokio-rustls = "0.26"
27rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] }
28rustls-pki-types = "1"
29rustls-pemfile = "2"
30webpki-roots = "0.26"
31
32# Errors / utils
33thiserror = "2"
34anyhow = "1"
35bytes = "1"
36tracing = "0.1"
37rand = "0.8"
38bitflags = "2"
39
40# CLI demos (also used as flake apps)
41tracing-subscriber = { version = "0.3", features = ["env-filter"] }
42clap = { version = "4", features = ["derive"] }
43
44[dev-dependencies]
45tempfile = "3"
46rcgen = "0.13"
47
48[[bin]]
49name = "erl-iroh-demo"
50path = "examples/two_bots.rs"
51
52[[bin]]
53name = "erl-iroh-bot"
54path = "examples/bot.rs"
55
56[[bin]]
57name = "erl-iroh-peer"
58path = "examples/peer.rs"