Final Grant Progress Report: S5 Network
What progress was made on your grant this month?
This month I focused on polishing and releasing s5-rs crates for S5 v1.0, ensuring comprehensive documentation and robust testing.
-
Shipped v1.0.0-beta.1: Published the full suite of S5 crates to crates.io.
-
FUSE Integration: Implemented a functional FUSE driver (
s5_fuse), allowing users to mount S5 file systems directly on their OS. -
FS Internals: Added automatic sharding for large directories and Garbage Collection (GC) to
s5_fs. -
Core Refactor: Locked down the
s5_coreAPIs (blob stores, importers, registry) for the v1 release. -
Bindings & Vup Web: The JS/Dart bindings and Vup Web migration are now done!
Detail tasks worked on this month per milestone
| Milestone | Task | Status | Commits | Notes |
|---|---|---|---|---|
| 2025-11-25 | Stable release of s5 rust crates | Completed | 857e6e3…3d4515d | All crates published to crates.io. |
| 2025-11-25 | JS & Dart bindings via UniFFI | Completed | 3d4515d…079b4ca | Published on npm and pub.dev. Using wasm-bindgen and flutter_rust_bridge directly instead of UniFFI because they are more reliable and mature |
| 2025-11-25 | Vup Web Migration to s5-rust | Completed | 515b3c3 | Needs a Remote S5 Node to work, see README for instructions |
Link to an easy to test version or a demo video.
- Rust Crates: https://crates.io/users/redsolver
(Includes s5_core, s5_fs, s5_node, s5_cli, s5_blobs, s5_registry, s5_fuse, and store backends)
-
Source Code: https://github.com/s5-dev/s5-rs
-
Quick Start: Install the CLI to try it out immediately:
cargo install --git https://github.com/s5-dev/s5-rs s5_cli
s5 --help
- Testing: The workspace includes 22 integration tests and unit tests across all crates. Validate with:
cargo test --workspace
Provide an overall summary of everything achieved during this grant.
I completely re-architected and rewrote the S5 Network in Rust, moving from a prototype to a stable foundation.
-
Rust Rewrite: Delivered a modular implementation of the S5 protocol (
s5_core,s5_node). -
Iroh Integration: Replaced the legacy WebSocket protocol with Iroh for robust P2P networking and NAT traversal.
-
Advanced File System: Built
s5_fs, a secure, end-to-end encrypted filesystem with snapshots and sharding. -
CLI & Tooling: Built
s5_cli, featuring thes5 treecommand for inspecting data structures ands5_fusefor mounting. -
Sia Integration: Shipped a renterd-backed
s5_store_siabackend that exposes Sia as a first-classStore, including directBlobLocation::SiaFilelinks so S5 clients or CDNs can download directly from Sia hosts. -
Documentation: Wrote READMEs for all 14 crates, 4 end-to-end guides (workflows, friend/community storage, decentralized build cache), plus a full CLI and configuration reference.
See docs/guides/s5-workflows.md for detailed workflows.
If there were challenges you experienced and/or any work you weren’t able to complete, list it here.
- WASM Integration: Generating bindings for the web (WASM) proved more challenging than expected due to
tokiodependencies ins5_coreands5_blobsthat don’t compile forwasm32-unknown-unknown. Whileirohandirpcwork in WASM, core crates depend ontokio,redb, andfs4which are not WASM-compatible. I am currently refactoring these into as5_client_coreto isolate WASM-compatible logic, which caused a slight delay in the final bindings and Vup Web migration.
What lessons have you learned as a result of this grant?
-
Rust Reliability: Rust was the perfect choice for S5. Its type system and safety guarantees allowed me to build complex concurrent logic with confidence, resulting in a highly stable and performant system.
-
P2P: Leveraging Iroh was a better choice than maintaining a custom networking stack.
-
FFI: API design needs to account for FFI boundaries early on to avoid friction.
What are you most proud of about your work on this grant?
I’m really happy with how s5_fs turned out. It supports end-to-end encryption, efficient sync, and automatic sharding, but still feels fast and usable. Seeing it work with the FUSE driver and s5 tree command is a highlight.