Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pietgeursen/bamboo-rs
https://github.com/pietgeursen/bamboo-rs
Last synced: 16 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/pietgeursen/bamboo-rs
- Owner: pietgeursen
- License: agpl-3.0
- Created: 2019-06-30T10:41:27.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-08-10T08:34:59.000Z (over 3 years ago)
- Last Synced: 2025-01-11T13:46:01.990Z (20 days ago)
- Language: Rust
- Size: 25.1 MB
- Stars: 36
- Watchers: 2
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - pietgeursen/bamboo-rs - (others)
README
# bamboo-rs
> Rust implementation of [bamboo](https://github.com/AljoschaMeyer/bamboo).
## Docs
[Rust docs](https://pietgeursen.github.io/bamboo-rs/bamboo_rs_core/index.html)## About
`bamboo-rs` aspires to be portable, fast and correct.
### Portable
`bamboo-rs-core` supports compilation with `no_std` and uses crypto libraries that support this too. [Anywhere rust can go](https://forge.rust-lang.org/release/platform-support.html), bamboo can go too, including microcontrollers, mobile and in the browser via web assembly.
Bamboo releases target 29 different architectures. Releases of the bamboo_core library expose a c api so you can build bindings to many other languages.
### Fast
The most likely bottleneck for applications is verification. Experience with scuttlebutt shows that once an application has to deal with a few years of data from a social network, onboarding a new user is painfully slow, and part of that slowness is due to verification.
`bamboo-rs` exports a batch verification function that uses [rayon](https://docs.rs/rayon) and signature batch verification that uses SIMD instructions for ~3-4 * speed up.
### Correct
There are [Test vectors](./test_vectors/test_vectors.md) so that you can test your implementation against this one. As people build their own implementations of bamboo we can work together to check each other's work.
## CLI
Check out [bamboo-rs-cli](./bamboo-rs-cli), a command line tool for working with bamboo entries. Download it for your architecture from the [releases](https://github.com/pietgeursen/bamboo-rs/releases)