Skip to content
This repository has been archived by the owner on Nov 16, 2021. It is now read-only.

ifraixedes/rust-storj-uplink-lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Storj Uplink Library for Rust

NOTE this repository has been moved to the Storj third-party Github organization and since the move the repository is archived because the development will follow there.

This projects aims to build a Rust crate library for the Storj Uplink Library.

THIS IS WIP, there is not any estimation of time nor a commitment when this Rust binding will have all the functionalities, so don't use it for any non-pet project.

Background

There is already a Rust binding Storj Uplink Library which is auto-generated by Rust Bindgen from the official Storj Uplink C library.

The result of Bindgen is a Rust binding which IS NOT IDIOMATIC and requires using UNSAFE everywhere.

This crate offers an idiomatic and safe (you don't have to use the unsafe keyword for using it) Rust crate library based on the Bindgen former.

Implementation progress

Entities:

Integration tests:

  • Access Grant.
    • Create.
    • Request an Access Grant with passphrase.
    • Parse one.
    • Share one.
    • Override an encryption key of a specific Bucket and prefix.
  • Project
    • Create a Bucket.
    • Try to create a Bucket which already exists.
    • Ensure a Bucket, an existing and non-existing one.
    • Stat a Bucket.
    • List Buckets.
    • Upload an Object.
    • Upload an Object with Custom Metadata.
    • Download an Object.
    • Stat an Object.
    • List Objects with and without System and Custom Metadata.
    • Delete an Object.
    • Delete an empty Bucket.
    • Delete a Bucket with objects.

General:

  • Add a CI solution (Travis, Github actions, etc.) for running tests, linters on every PR and when something is merge into the main branch.
  • Add general documentation about the Storj network and its entities mimicking the original Go Uplink package.
  • Add some documentation about the crate design and implementation if the documentation of each module, types, functions, etc., aren't enough.

About

Idiomatic and safe Rust binding for Storj Lib Uplink

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages