Skip to content
/ ic-oss Public

๐Ÿ—‚ A decentralized Object Storage Service on the Internet Computer

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

ldclabs/ic-oss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

IC-OSS

๐Ÿ—‚ A decentralized Object Storage Service on the Internet Computer.

๐Ÿ’ Backed by a $25k Developer Grant from the DFINITY Foundation.

Overview

ic-oss is a decentralized object storage service fully running on the Internet Computer that provides:

  • Simple and efficient file storage/retrieval
  • File directory tree structure
  • Unlimited horizontal scalability
  • Enterprise-grade access control

Perfect for NFTs, chain blocks, verifiable credentials, blogs, documents, and decentralized applications.

IC-OSS

Key Features

  • Large File Support
    • File sharding
    • File encryption
    • Concurrent high-speed uploads
    • Resumable uploads
    • Segmented downloads
  • Advanced Organization
    • File directory tree structure
    • Bucket-based clustering
  • Flexible Access Control
    • Public/private access
    • Read/write permissions
    • File/folder/bucket level controls

Check more details:

Packages

Package Description
ic_oss_bucket Storage bucket smart contract
ic_oss_cluster Cluster management smart contract
ic-oss-can Rust library for implementing file storage in smart contract
ic-oss-types Rust shared type definitions
ic-oss Rust client SDK
ic_oss_ts Typescript client SDK
ic-oss-cli Command-line tool implemented in Rust

Who's using?

  • dMsg.net: The world's 1st decentralized end-to-end encrypted messaging application fully running on the Internet Computer blockchain. dMsg.net uses IC-OSS to store user avatars (public), channel logos and encrypted files (private).

If you plan to use this project and have any questions, feel free to open an issue. I will address it as soon as possible.

Integration

IC-OSS Sequence

  1. Dapp backend: Configure access control via ic_oss_cluster
  2. Dapp frontend: Obtain access_token using ic-oss-ts SDK
  3. Dapp frontend: Use token to interact with ic_oss_bucket

Examples

  • examples/ai_canister: A Rust demonstration project used to show how to implement large file storage in the ICP canister by using ic-oss-can.
  • examples/upload_js: A Javascript demonstration project used to show how to upload files to ic_oss_bucket canister by using @ldclabs/ic_oss_ts.

License

Copyright ยฉ 2024-2025 LDC Labs.

ldclabs/ic-oss is licensed under the MIT License. See LICENSE for the full license text.

About

๐Ÿ—‚ A decentralized Object Storage Service on the Internet Computer

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published