Progress Report (September)
What progress was made on your grant this month?
Milestone Tasks Progress
- Implemented the file system, including end-to-end-encryption (feat(fs5): implement file system including metadata encryption and re… · s5-dev/s5-rs@7a105e7 · GitHub)
Can be validated by running
cargo testin thes5_fssubdirectory
- Implemented the new unified registry+streams spec (feat(s5_core/stream): implement new unified registry+streams spec · s5-dev/s5-rs@1a075c6 · GitHub)
Can be validated by running
cargo testin thes5_coresubdirectory
- Finished implementing the s3-backed blob store (feat(store/s3): implement config, exists method, delete method and pr… · s5-dev/s5-rs@584b27a · GitHub and feat(store/s3): implement all missing methods · s5-dev/s5-rs@b5c0db3 · GitHub)
Other process
-
Implemented a registry store backed by redb (feat!: implement redb-backed registry api and refactor some traits · s5-dev/s5-rs@49c0965 · GitHub)
-
Implemented missing methods in the renterd-backed s5 store (feat(store/sia): implement delete, rename, open_read_stream and open_… · s5-dev/s5-rs@ae6d088 · GitHub)
-
Started working on the s5_blobs protocol (for dynamic blob location requests) and bridging Iroh’s blobs protocol store to s5-powered stores (feat: add s5_blobs protocol · s5-dev/s5-rs@f344ae5 · GitHub)
Remaining Tasks
- Migrate the TypeScript library to the new file system
Jules has been busy with migrating most of s5.js to the new CBOR-based directory metadata structures, in October we will work together on upstreaming his changes to the official s5.js repository (see GitHub - julesl23/s5.js: TypeScript/JS Library for S5 · GitHub)
- specs impl: accounts, identity
instead of implementing a completely custom identity solution, s5 now simply uses iroh ed25519 public keys for node identity and will likely use atproto’s did:plc for public identities covering multiple nodes.
What will you be working on next?
-
Work with Jules on upstreaming his changes to s5.js so they are properly migrated to be compatible with s5-rs and S5 v1
-
Extending the config format to allow configuring trusted third-party nodes and upload+pinning targets
-
Implement Sia RHP4 uploads and downloads in S5 using indexd
-
Make the RHP4 WASM-based blob proxy production ready, so devs can easily use files streamed directly from Sia hosts in their web apps
-
Release a stable v1 version of all S5 libraries and code