<u>Problem: Same fundamental code base being developed over and over</u>
With the increasing adoption of Cardano as a platform to build many new decentralized applications, we have already encountered many redundant and common approaches to many projects. While these projects have their specialized use-cases, the internals are all too common.
Naturally, one may realize these patterns and recognize that there are many opportunities to develop common code to be used by many applications. This code, once developed and open-sourced, could be used and improved by the community constantly, so everyone in the ecosystem would benefit from a shared solution. We want to replicate this successful model — that allowed many libraries, frameworks and the projects that built on these flourish — and bring it to the Cardano eco-system by spearheading a framework to create strong marketplaces.
<u>Solution: A Marketplace Creator</u>
Numerous projects are being built or proposed in Catalyst that aim to create decentralized marketplaces to serve as intermediaries between supply and demand, sellers and buyers, server and clients.
We have identified the need to build a framework in order for people to spin-up their marketplaces.
Just like their simpler Web 2.0 equivalents, blace enables scaffolding marketplaces with a simple blace new, thus cutting down development time and cost.
This proposal aims at developing a core that will power service-oriented marketplaces.
<u>Plugins / Functionalities</u>
The Base Layer's core functionality can be altered and extended through plugins.
Core components that ship with blace address:
- Authorization
- Certificates
- Currency conversion
- Fee collection
- Identity management
- Offering a service or product
- Payment
- Requesting a service or product
- Review system
- Smart contract composition
- Status tracking
- User profiles
Plugins can have custom rules and parameters (e.g. fees paid to the marketplace operator, refund eligibility, permissions, identity requirements) on a per marketplace level.
Furthermore, by designing core functionality as plugins, even integral parts of blace can be replaced.
If your marketplace needs to meet specific KYC requirements, you can extend or replace the identity management solution that ships with blace.
While not in scope for this phase of development, plug & play NLP-assisted matching of suppliers and buyers will be central to the accelerated growth and usefulness of blace in the years to come.
<u>CLI tool</u>
To create or edit a marketplace, you install and run blace from your terminal.
The command line tool is built in Haskell. It will be open sourced once the first marketplace using blace is deployed.
See the gif or our website for a simple demo when setting up a new marketplace via blace new.
Other interfaces (e.g. web interface) for ease of access are planned as well.
By creating blace, we help developers by enabling them to skip base layer marketplace work and thus decrease the time to launch their Cardano mvp.
The leading question of the Developer Ecosystem Challenge is: "How can we create a positive developer experience that helps the developer focus on building successful apps?". And we answer: By providing an extensible marketplace creator, so developers can cut costs and focus on the specificity of their projects.
Among the potential directions described in the Challenge Campaing Brief ( https://cardano.ideascale.com/a/campaign-home/26251 ), we believe we are directly addressing:
- developing common tools as libraries or containerized services
- incentive system for developing & hosting common open source utility's
- collaborations/efforts on defining common standards
The risk we see for this proposal is the delay on the development of Cardano’s PAB. It’s something that has been delayed a few times, but since we will only need to interact with the PAB by September this year, we expect that, by then, it will have the features we require to develop what we are proposing here.