[package]
name = "rings-node"
version = "0.1.0"
edition = "2021"
default-run = "rings-node"
authors = ["RND <dev@ringsnetwork.io>"]
description = "Chord DHT implementation with ICE"
repository = "https://github.com/RingsNetwork/rings-node"
license = "GPL-3.0"
readme = "README.md"
keywords = ["Chord", "DHT", "Web3", "P2P", "WASM"]
categories = ["network-programming", "cryptography", "wasm"]
[workspace]
members = ["rings-core"]
[lib]
crate-type = ["cdylib", "rlib"]
[features]
default = ["client"]
client = [
"tokio",
"hyper",
"axum",
"tower-http",
"clap",
"reqwest",
"form_urlencoded",
"pin-project",
"base64",
"rings-core"
]
daemon = ["daemonize", "turn", "libc", "client"]
browser = [
"console_error_panic_hook",
"wasm-bindgen",
"wasm-bindgen-futures",
"js-sys",
"reqwest-wasm",
"rings-core-wasm"
]
[dependencies]
serde = { version = "1.0.136", features = ["derive"] }
serde_json = "1.0.70"
log = "0.4"
futures = "0.3.21"
env_logger = "0.9.0"
dotenv = "0.15.0"
thiserror = "1"
anyhow = "1.0.45"
lazy_static = "1.4.0"
arrayref = "0.3.6"
chrono = "0.4.19"
jsonrpc-core = { version = "18.0.0" }
jsonrpc-pubsub = { version = "18.0.0" }
http = { version = "0.2.6" }
tokio = { version = "1.13.0", features = ["full"], optional = true }
hyper = { version = "0.14.14", features = ["full"], optional = true }
tower-http = { version="0.2.4", features = ["cors"], optional = true}
clap = { version = "3.1.6", features = ["derive", "env"], optional = true }
reqwest = { version = "0.11", features = ["json"], optional = true }
form_urlencoded = { version = "1.0.1", optional = true }
axum = { version = "0.5.1", optional = true }
pin-project = { version = "1", optional = true }
base64 = { version = "0.13.0", optional = true }
rings-core = { package = "rings-core", path = "./rings-core", version="0.1.0", optional = true }
daemonize = { version = "0.4.1", optional = true }
libc = { version = "0.2.121", optional = true }
turn = { version = "0.5.4", optional = true }
rusturn = { version = "0.0.4", optional = true }
console_error_panic_hook = { version = "0.1.1", optional = true }
wasm-bindgen = {version = "0.2.80", features = ["serde-serialize"], optional = true }
wasm-bindgen-futures = {version="0.4.30", features=["futures-core-03-stream"], optional = true }
js-sys = { version = "0.3.57", optional = true }
reqwest-wasm = { version = "0.11", features = ["json"], optional = true }
rings-core-wasm = { package = "rings-core", path = "./rings-core", features = ["wasm"], default-features = false, optional = true, version = "0.1.0" }
[[bin]]
name = "rings-node"
path = "bin/main.rs"
required-features = ["client"]
[[bin]]
name = "rings-node-daemon"
path = "bin/daemon.rs"
required-features = ["daemon"]