1 unstable release
0.1.0 | Sep 11, 2023 |
---|
#456 in HTTP client
37KB
710 lines
🎲 🦀 drand-client-rs
A simple drand client implementation written in rust
Features
- HTTP transport
pedersen-bls-chained
schemepedersen-bls-unchained
schemebls-unchained-on-g1
schemebls-unchained-on-g1-rfc9380
scheme
Example usage
use drand_client_rs::{new_http_client, DrandClientError};
fn main() -> Result<(), DrandClientError> {
// first create the client using one of the relays as a `base_url`
let drand_client = new_http_client("https://api.drand.sh")?;
// you can fetch the latest random value using `latest_randomness`
if let Ok(beacon) = drand_client.latest_randomness() {
println!("the latest round is {}", beacon.round_number);
println!("the latest randomness is {:?}", beacon.randomness);
}
// or a specific round using `randomness`
if let Ok(beacon) = drand_client.randomness(1) {
println!("the selected round is {}", beacon.round_number);
println!("the latest randomness is {:?}", beacon.randomness);
}
Ok(())
}
Roadmap
- rustdoc
- wasm-specific target
- libp2p transport
Dependencies
~5–16MB
~249K SLoC