Skip to content
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

  1. Data market is controlled by few organizations & Marketplace aims to disrupt that paradigm to make it decentralised benefiting both data workers & publishers.
  2. 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.
  3. 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.
  4. Bidder after completion of task. Would call the completed task function to notify the publisher that task has been completed.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.

Discussion

Builders also viewed

See more projects on Devfolio