Skip to content

graphops/file-hosting-service

File Hosting Service

Introduction

File Hosting Service (FHS) is a marketplace for sharing file data and is part of The Graph Network's World of Data Services.

FHS is a decentralized, peer-to-peer data sharing platform designed for efficient and trust-minimised file sharing that is payments-enabled. It leverages a combination of technologies including hash commitments on IPFS for file discovery and verification, chunked data transfer and micropayments reducing trust requirements between clients and servers, and secure and efficient data transfers via HTTP2. The system is built with scalability, performance, integrity, and security in mind, aiming to create a robust market for file sharing.

Target Audience

This documentation is tailored for individuals who have a basic understanding of decentralized technologies, peer-to-peer networks, and cryptographic principles. Whether you are an indexer running various blockchain nodes looking for sharing and verifying your data, an indexer looking to launch service for a new chain, or simply a user interested in the world of decentralized file sharing, this guide aims to provide you with a clear and comprehensive understanding of how File Service operates.

Features

  • Decentralized File Sharing: FHS uses direct connections for file transfers, eliminating central points of failure.
  • IPFS Integration: Employ IPFS for efficient and reliable file discovery and content verification.
  • SHA2-256 Hashing: Ensure data integrity through robust and incremental cryptographic hashing.
  • HTTP2 and TLS: Leverage the latest web protocols for secure and efficient data transfer.

To be supported:

  • Micropayments Support: Implement a system of micropayments to facilitate fair compensation and reduce trust requirements.
  • Scalability and Performance: Designed with a focus on handling large volumes of data and high user traffic.
  • User-Friendly Interface: Intuitive design for easy navigation and operation.

More details can be found in Feature Checklist

Upgrading

The project will follow conventional semantic versioning specified here. Server will expose an endpoint for package versioning to ensure correct versions are used during exchanges.

Background Resources

You may learn background information on various components of the exchange

  1. Cryptography: SHA2-256 Generic guide, Hashed Data Structure slides

  2. Networking: HTTPS with SSL/TLS.

  3. Specifications: IPFS file storage, retrieval, and content addressing.

  4. Blockchain: World of data services, flatfiles for Ethereum, use case.

Documentation

Quickstarts and Configuring

Contributing

We welcome and appreciate your contributions! Please see the Contributor Guide, Code Of Conduct and Security Notes for this repository.