F5 is a smart-contract based primitive that incentivises renewal of Filecoin storage deals. And it's as simple as hitting the F5 refresh key.
Following the work and mindset of the FVM team, we decided to work on continuing to improve the FVM developer experience. Specifically, we opted to focus on developing a deal renewal primitive in Solidity so that it can be used in smart contracts, meaning this code can be forked by any other project.
F5 (as in the F5 refresh key from your keyboard) is a smart contract-based solution for renewing storage deals on the Filecoin network. For this hackathon, we have built a frontend application with an associated backend, and a smart-contract to handle core functionalities.
(1) The frontend is a web application that enables users to select which storage deals they want to renew. They can view details about their existing deals, such as the amount of data stored and their expiration date. Users can then choose to renew specific deals and submit a bounty to incentivize storage providers (SPs) to store this data.
(2) The bounties are submitted to the smart contract, which acts as an intermediary between the users and the storage providers. The contract is programmed to automatically launch the bounty. The rewards are distributed to a storage provider:
If they can successfully prove storage of data. See below for details.
If a minimal length of storage is achieved. For this hackathon, SPs are required to store the data for a minimum of 12 months. Bounty rewards are distributed according to the following schedule: 50% once 75% of the storage deal duration has passed, another 50% upon full completion of the storage deal.
The software stack for this project is listed in the following.
Frontend:
Backend:
Smart-contract:
Sponsor technology used:
Worth mentioning: The code build can be forked by any other project where deal renewal is a core/necessary feature.