M
Marketplace
Envisioned to change the data market paradigm forever.
Created on 31st May 2021
•
M
Marketplace
Envisioned to change the data market paradigm forever.
The problem Marketplace solves
- Data market is controlled by few organizations & Marketplace aims to disrupt that paradigm to make it decentralised benefiting both data workers & publishers.
- First we assume the Publisher would publish a task by providing general details like task cost, deadline & task description.In creating a task function we would be locking account balance same as the task cost.
- The bidder can bid for any task by calling bid for task function, first we will ensure the task id provided exists in the storage & then add bidder in the storage.
- Bidder after completion of task. Would call the completed task function to notify the publisher that task has been completed.
- Publishers after verification can call approve function only after which locks would be removed from both the parties & also transfer of tokens from publisher to bidders account would take place.
- We aim to provide a flawless system for both publisher & bidder to ensure satisfaction by ensuring all gaps are checked & no party can misuse the system.
- We have provided multiple human understandable errors to users to make sure feedback is given to users for doing something which is not permitted by the system.
- We are also forcing parties to follow system flow like create task, bid for task, completed task & approved task by using enums to track status of task.
- All suspicious/ malicious parties would be slashed/penalised & after repetition accounts would be freezed.
Challenges we ran into
BackEnd-
Adding nested data structures like struct inside map Vec set & getting/setting these values. Using pallet default pallet function in our custom pallet.Implementing GenesisConfig for custom Pallet,Creating Custom Types for custom Pallet ,Implementing escrow, Returning data using DispatchResultWithPostInfo, Writing api & rpc for pallet.
Front End-
API integration-Accessing storage( communicating with backend) & getting & setting complex data structure like struct,map & vec set,Key ring use substrate etc,Event listening from front end. Calling substrate function via forms to set data & emit events. Managing the state of the web app.
Technologies used
Discussion
Builders also viewed
See more projects on Devfolio