A suite of tools that includes an order book-based DEX for clients and Storage Providers, a Data Marketplace, and a Data Bridge for the marketplace to export the data into any other chain.
We planned out the project to be a whole data suite as the name suggests. It consists of an order book-based mechanism where we match orders from clients and SPs and store the data. As implementing the order book on solidity is very inefficient, we created an oracle mechanism where the order matching happens off-chain in the oracles. The workflow is the client comes to the website and fills up a form with the data and the amount he is ready to pay. During the process, data is transferred to one of the oracles, and the oracles will create the CID of the data. And then all these things will be packed up and addbid function is called in the smart contract. Similarly, the SP owner will come and verify himself as the owner of the SP and fills up a form with the amount. As the form is filled, the data is passed to the smart contract. The oracles track the logs of the contract and match order when possible and ask the smart contracts to prove it. Once the smart contract gets enough number of votes, it asks the oracle to pass on the data to the SP acting as a lotus lite node. Once the deal is published, the SP owner can come and get the bounty from the contract. After this, the data gets listed in the marketplace if the data owner wants where anyone can come and buy the data. The bridge will help to pass the requests from other chains about particular data listed in the marketplace.
The trading engine along with the logs reading application is made with Golang. The lotus JS API is used to interact with the lite node. Hardhat is used for smart contract development. Perl is used to creating the deal filtering mechanism. The front end was created using Next JS.