Skip to content

MVPWorkshop/filesaver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileSaver

Screenshot 2023-02-06 at 15 00 31

Overview

Store once and for all.

FileSaver is the first fully decentralized drive designed for permanent file storage for both public and private use.

It is unlimited by time, decentralized, storage dApp run on Filecoin.

This project has been built for the FVM Space Warp Hackathon.

Problem

Currently, Filecoin enables storage of files for a fixed amount of time (6-18* months).

What happens when a user wants to store their files for larger amounts of time?

They would have to keep a copy of their files and start a new deal, or re-enter the negotiations with their current providers.

Solution

Screenshot 2023-02-06 at 14 58 15

Perpetual storage is a concept of semi-automating this process through F(E)VM actors in which, after the end of the current deal’s duration has been reached, a new one can be started by providers without the user's involvement.

Flow

7

User connect wallet, sets conditions for the deal, upload file to IPFS via web3.storage.

User sends funds to contract for perpetual deal.

Provider downloads the file, reserves the spot and makes deal through FEVM actor(after FIP44).

Provider stores the file, publishes the deal and can claim funds.

9

Project Vision

10

Since complete funds are locked in the BountySC until the next deal when the part of it is claimed, they can be used inside DeFi applications. This can be part of the FileSaver’s business model.

Built With

  • ReactJS (Frontend)
    • Metamask wallet
  • NodeJS (Backend)
    • Lotus
  • Solidity (Smart Contracts)
    • FEVM Hardhat Kit
    • Zondax Solidity API

Frontend is created using React and NodeJS is used for backend alongside with web3.storage for uploading files to IPFS. Smart contracts are written in Solidity and with ethers we are capable to interact with them on front and back.

Getting started

This repo containts three main subfolders:

  • back - contains all backend logic that is being used by the providers
  • front - frontend being used for user interaction
  • contracts - used for developing and deploying FEVM actors

Instructions

After cloning the repo, follow these steps:

Installation

To install all the dependencies, open three terminals and type:

  1. cd back && npm install
  2. cd front && npm install
  3. cd contracts && npm install

Workflow

In the first terminal enter:

  • npm start which will start the React App

Split the second terminal, and enter:

  • node back/modules/server which will start the server that handles file upload requests
  • node back/modules/service-provider which will start one provider process

Finally the last terminal serves for actor development:

  • yarn hardhat compile which is used for compilation
  • yarn hardhat deploy which is used for deployment

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published