Store Don

Storing large data using lotus and FEVM in a decentralized and simple manner

The problem Store Don solves

Using our product you can store large files in Filecoin in a very decentralized and simple manner. Currently, you can either use products like web3. storage, NFT.storage, LightHouse, or store directly using Lotus. The applications mentioned earlier are not useful when it comes to commercial storage of data although the process is very easy. Using Lotus is not that simple as you need to manually install a Lite node, find miners and interact with them to fix a rate and store data. Now, coming to our application, you can use it for all your storage needs, and it's very easy to use. We are using an Orderbook based mechanism where clients and SPs can fill up their bids and asks. Our order matching engine will generate orders in a decentralized manner using FEVM to verify the orders. Once the orders are verified, oracles will act as lotus lite nodes and send the data to the particular SP to store. The SP can later come to the smart contract and collect the submitted bounty by the client. As implementing Orderbook in solidity is not efficient, we are using oracles to match the orders. Once the orders are matched, the oracles submit it to the FEVM smart contract and if we have more than 51% vote for a particular order from all the oracles, the oracle will pass on the data to the SP, who will create a deal.

Challenges we ran into

As FEVM is very new and the Hyperspace Testnet is a bit slow, we faced many challenges like random gas fees burst, etc during our development. Also, while listening to the smart contract events, we were able to do so using Web3JS but not with Ethers JS. Also, we got some issues, while using built-in actors. Like, we wanted to pass the address to a particular smart contract function, which will as a result give the owner of the SP, but we were unable to do so as we kept getting errors with multiple input values.