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

5b2e7ae Β· Feb 9, 2025
Jan 25, 2025
Dec 21, 2024
Feb 9, 2025
Feb 9, 2025
Sep 27, 2024
Jul 15, 2024
Feb 9, 2025
Feb 9, 2025
May 23, 2024
Dec 20, 2024
Jul 11, 2024
Jan 25, 2025
Dec 20, 2024
Jul 15, 2024
Jul 14, 2024
Jul 14, 2024
Dec 20, 2024
Dec 20, 2024
Aug 25, 2024

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.
  • examples/video_player: A video player website to test HTTP range request.

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

Packages

No packages published