-
Notifications
You must be signed in to change notification settings - Fork 27
/
Cargo.toml
63 lines (60 loc) · 2.31 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
[package]
name = "blutgang"
version = "0.3.6"
edition = "2021"
authors = ["makemake <vukasin@gostovic.me>, Rainshower Labs, contributors"]
license-file = "LICENSE"
description = "Fast, minimalist load balancing with caching for Ethereum JSON-RPC calls. Full support for HTTP and WS."
readme = "README.md"
homepage = "https://github.com/rainshowerLabs/blutgang"
repository = "https://github.com/rainshowerLabs/blutgang"
keywords = ["cli", "ethereum", "load-balancing", "websocket", "http"]
categories = ["command-line-utilities"]
[dependencies]
clap = "4.3.0"
hyper = { version = "1.0.1", features = ["full"] }
http-body-util = "0.1.0-rc.3"
reqwest = { version = "0.11.18", features = ["blocking", "json"] }
serde = { version = "1.0.163", features = ["derive"] }
serde_json = "1.0.96"
sled = { version = "0.34.7", features = ["compression"] }
tokio = { version = "1.28.1", features = ["sync", "net", "rt-multi-thread", "macros"] }
url = "2.4.0"
blake3 = "1.4.1"
jemallocator = "0.5.4"
toml = "0.7.6"
memchr = "2.5.0"
rand = { version = "0.8.5" }
chrono = "0.4.28"
tokio-stream = {version = "0.1.14", features = ["sync"]}
hyper-util-blutgang = { version = "0.2.0", features = ["tokio"] }
simd-json = { version = "0.12.0", features = ["serde_impl"] }
xxhash-rust = { version = "0.8.7", features = ["xxh3", "const_xxh3"], optional = true }
zerocopy = { version = "0.7.20", features = ["simd", "alloc"] }
zerocopy-derive = "0.7.28"
jsonwebtoken = "9.1.0"
hyper-tungstenite = "0.12.0"
futures = "0.3.29"
tungstenite = "0.20.1"
tokio-tungstenite = { version = "0.20.1", features = ["native-tls"] }
futures-util = "0.3.29"
systemd = { version = "0.10.0", optional = true }
# Maxperf profile for absolute maximum performance
# Only use for builds that are going to get used by end users
[profile.maxperf]
inherits = "release"
lto = "fat"
codegen-units = 1
incremental = false
# Optional Blutgang features
[features]
journald = ["systemd"]
default = ["selection-weighed-round-robin"]
xxhash = ["xxhash-rust"] # 4x faster hashing but potentially less secure
no-cache = [] # enable this to disable caching
debug-verbose = [] # Verbose terminal debug output
selection-weighed-round-robin = [] # default algo
selection-random = [] # optional random algo
old-weighted-round-robin = [] # old algo, does not account for max per second
systemd = ["dep:systemd"]
# add your own below