mirror of
https://github.com/luxfi/consensus.git
synced 2026-09-24 00:26:58 +00:00
65 lines
1.8 KiB
TOML
65 lines
1.8 KiB
TOML
[package]
|
|
name = "lux-consensus"
|
|
version = "1.23.1"
|
|
edition = "2021"
|
|
description = "Lux Consensus SDK — pure-Rust Quasar post-quantum probabilistic consensus (Wave / FPC / Photon / Focus / Quasar PQ finality via hybrid BLS12-381 + Pulsar = P3Q)"
|
|
license-file = "LICENSE"
|
|
repository = "https://github.com/luxfi/consensus"
|
|
homepage = "https://lux.network"
|
|
readme = "README.md"
|
|
keywords = ["consensus", "post-quantum", "quasar", "probabilistic", "lux"]
|
|
categories = ["cryptography", "algorithms", "network-programming"]
|
|
authors = ["Lux Industries Inc."]
|
|
exclude = ["target/"]
|
|
|
|
[package.metadata.docs.rs]
|
|
no-default-features = true
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
|
|
[dependencies]
|
|
hex = "0.4"
|
|
libc = "0.2"
|
|
|
|
# BLS12-381 signatures for Quasar consensus
|
|
blst = "0.3"
|
|
|
|
# Optional GPU acceleration dependencies
|
|
# MLX (Apple Silicon) - via C++ bindings
|
|
mlx-sys = { version = "0.1", optional = true }
|
|
|
|
# BLAKE3 for fast hashing (SIMD optimized)
|
|
blake3 = { version = "1.5", optional = true }
|
|
|
|
# Parallel processing
|
|
rayon = { version = "1.10", optional = true }
|
|
|
|
[lib]
|
|
name = "lux_consensus"
|
|
path = "src/lib.rs"
|
|
crate-type = ["rlib"]
|
|
|
|
[features]
|
|
default = []
|
|
# CPU-optimized with SIMD (no GPU)
|
|
simd = ["blake3", "rayon"]
|
|
# Apple Silicon GPU acceleration via MLX
|
|
mlx = ["mlx-sys", "simd"]
|
|
# NVIDIA GPU acceleration via CUDA (future)
|
|
cuda = ["simd"]
|
|
# Full GPU acceleration (MLX on macOS, CUDA on Linux/Windows)
|
|
gpu = ["mlx", "cuda"]
|
|
|
|
# [[example]]
|
|
# name = "basic_usage"
|
|
# path = "examples/basic_usage.rs"
|
|
|
|
[dev-dependencies]
|
|
criterion = { version = "0.7.0", features = ["html_reports"] }
|
|
# Reads conformance/corpus.json — the Go-generated finality standard this crate
|
|
# is checked against. Tests only; it is not in the shipped crate.
|
|
serde_json = "1.0"
|
|
|
|
[[bench]]
|
|
name = "consensus_bench"
|
|
harness = false
|