Implementations of the Willow family of specifications in Rust.
Repository moved to https://codeberg.org/worm-blossom/willow_rs
willow-rs
Protocols for synchronisable data stores. The best parts? Fine-grained
permissions, a keen approach to privacy, destructive edits, and a dainty
bandwidth and memory footprint.
Currently, this repo provides Rust implementations of:
- Everything in the
SimpleStoreSled, a sled-powered
Store trait, enabling persistent storage of Willow data!
Eventually, this repo will also house Rust implementations of:
eventually consistent data delivered by any means possible,- and
We welcome contributions! If you're looking for contribution ideas, please see the repo's issues, milestones, and projects.
See also
- Willow website
- willow-js - TypeScript
- meadowcap-js - TypeScript
Fuzz tests
This repository has many fuzz tests. To use cargo fuzz commands, you must first make fuzz the working directory so that the nightly compiler (on which cargo-fuzz relies) is used for compiling the tests.
cd fuzz
cargo fuzz run <testnamehere>
There is also a command for running all the fuzz tests sequentially:
cd fuzz
./runall.sh -- -maxtotaltime=<numberof_seconds>
This project was funded through the NGI0 Core Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101092990.