Skip to content

Latest commit

 

History

History
63 lines (48 loc) · 2.5 KB

README.md

File metadata and controls

63 lines (48 loc) · 2.5 KB

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:

  • Meadowcap, a capability system adaptable to local needs,
  • Everything in the Willow Data Model (parameters, paths, entries, groupings, encodings) except for the all-important store.

Eventually, this repo will house Rust implementations of:

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 implementation of Willow Data Model, Sideloading, and General Purpose Sync protocol.
  • meadowcap-js - TypeScript implementation of Meadowcap

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 <test_name_here>

There is also a command for running all the fuzz tests sequentially:

cd fuzz
./run_all.sh -- -max_total_time=<number_of_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.