Cryptography, serialization, and database utilities for the Amadeus blockchain.
[dependencies]
amadeus-utils = "1.3"- BLS12-381 - BLS signatures and public key operations
- Blake3 - Fast cryptographic hashing with optional parallelization
- Reed-Solomon - Erasure coding for data sharding
- vecpak - Efficient binary serialization (serde-compatible)
- safe_etf - Deterministic Erlang Term Format encoding
- RocksDB - Transactional key-value database wrapper
use amadeus_utils::bls12_381;
// Generate keypair and sign
let sk = bls12_381::generate_sk();
let pk = bls12_381::get_public_key(&sk)?;
let sig = bls12_381::sign(&sk, b"message", b"DOMAIN")?;
// Verify
bls12_381::verify(&pk, &sig, b"message", b"DOMAIN")?;use amadeus_utils::blake3;
let hash = blake3::hash(b"data"); // [u8; 32]use amadeus_utils::rocksdb::{RocksDb, Options};
let mut opts = Options::default();
opts.create_if_missing(true);
let db = RocksDb::open("path/to/db", opts, vec![])?;
let txn = db.transaction();
txn.put(b"key", b"value")?;
txn.commit()?;rayon- Enable parallel Blake3 hashingsystem-metrics- System resource monitoring
For detailed API documentation, see docs.rs/amadeus-utils.
Apache-2.0