BackStore | Marketplace
BackStore | Marketplace
Grant category
- Developer tools / services
- Open source maintenance
Description
An easy, simple and quick way to set up and ship a Flow Marketplace. In order to achieve that, we would like to build a marketplace API on top of NFTStorefrontV2 in the form of open source software.
Problem statement
NFT related projects are the most active so far in the Flow ecosystem. This is mostly due to Dapper Labs partnerships and solutions built based on their CryptoKitties experiences and conclusions. Hence, there is a clear need for NFT marketplaces, and at buildsquad we believe that NFT marketplaces are going to eventually be as prevalent as e-commerce sites one day.
New projects and developers want (and will eventually want) to build their own marketplace (or NFT related solutions) on Flow but have no experience with it or Flow Dapps. The main reason being that the Flow ecosystem is still quite segregated as it has its own smart contract programming language, which requires prior knowledge and experience. The existence of NFTStorefront is already a good step as experienced builders do not have to write a custom smart contract and the community is already embacing it. But for less experienced developers, there is an entry barrier.
-
Target audience: Web3 Builders
- Who are looking to upgrade to NFTStorefrontV2 straightforwardly.
- Who want to create an NFT marketplace or marketplace-related tooling on Flow.
- Who want to learn how to create a marketplace on Flow.
- Who want to use/take advantage of NFTStorefrontV2 without cadence knowledge.
- Who want to port their marketplace to Flow in a simple way.
- Who are looking for an indexer for NFTstorefrontV2.
-
Evidence for the need:
The existence of NFTStorefront with over 9 million transactions is a great contribution towards standardizing NFT marketplaces, I quote its description:
NFTStorefront uses modern Cadence run-time type facilities to implement a marketplace that can take any currency in order to vend any token in a safe and secure way. This means that only one instance of the contract is needed (see below for its address on Testnet and Mainnet), and its resources, transactions, and scripts can be used by any account to create any marketplace.
The NFTStorefrontV2 that we will specifically utilize, is an upgraded version of NFTStorefront, and the community has already started to integrate it. Having said that, the integration so far is less than 5% (this is deduced by simply counting transactions of NFTStoreFront against those of NFTStoreFrontV2 ), and obviously, there is no indexer for it. With our proposed API, some of the blocking barriers will be eliminated and it will allow builders to jump-start with the essential things of their project.
Proposed solution
We propose to create an end-to-end solution of a Flow marketplace that will be fully open source. Our main aim is to build on top of NFTStorefrontV2 so we could leverage its capabilities and create the necessary tooling to allow everyone to easily do so. Specifically, we would have a backend module and a Proof-of-Concept Open Marketplace:
-
Backend module: An easy and simple way to set up and ship a marketplace on Flow, consisting of:
- Database
- Listings
- Sales History
- NFT metadata
- Collection metadata
- Events related to the marketplace (e.g new storefronts being initialized)
- Indexer
- Marketplace API
- Searching through collections
- Sorting collections
- Searching through NFTs within the collection via metadata attributes
- Sales history for specific NFT items
- Display NFTs for a particular address
- Display collections for a particular address
- Database
-
PoC Open Marketplace:
- Connect with the wallet
- Raw Transactions and scripts
- Connection with backend marketplace API
- Core functionalities
- Create a collection
- Transfer one, multiple or all NFTs of a collection
- Add nfts for sale (fixed price)
- Remove nfts from the sale
- Mint/Create NFT
- Search by collection - ID or name
- Sorting collection
- Burn one, multiple or all NFTs of a collection
Impact
-
In what ways does this benefit the broader Flow developer ecosystem? This project will impact significantly the Flow developer ecosystem, specifically:
- Speed up NFT Marketplace standardization via an easy solution that is created using NFTStorefrontV2.
- Speed up transition to NFTStorefrontV2.
- Developers will be able to learn how to easily ship a marketplace on Flow and interact with its different components.
- Being an open source and public good solution implies that anyone can use it/improve it for their project, developers won't need to reinvent the wheel thus improving developer experience, speed and adoption.
- Developers who don't know about cadence will be able to create a marketplace.
This project will also benefit the wider Flow ecosystem by using the PoC Open Marketplace to showcase to community members how to mint and trade collections (as well as any regular functionality that the NFTstorefrontV2 smart contract allows).
Milestones and funding
| Milestone | Deliverables | Timeline | Risks | USD proposal |
|---|---|---|---|---|
| 1 - Research & Design | Backend Module & PoC Open Marketplace - Set up and design | 3 weeks | - | TBD |
| 2 - MVP | Backend module - Dockerized container that deploys a marketplace MVP | 5 months | - | TBD |
| 3 - PoC Open Marketplace | Complete all target functionalities | 2 months | - | TBD |
| 4 - Documentation | API Docs | 2 weeks | - | TBD |
| 5 - Testing | Tests for backend module & PoC Open Marketplace | 2 weeks | - | TBD |
| 6 - Adoption | 5 teams using this project | 6 weeks | - | TBD |
| 7 - Maintenance | Resolving issues and bug fixing | 6 months - continuously, if needed | - | TBD |
Planning
- Milestone 1 will be collectively worked on by the entire team and it is a prerequisite for all other milestones.
- For Milestones 2 and 3, we will first need to have a working skeleton of the backend module, and then the PoC Open Marketplace can be done in parallel. Most likely at around 2-3 months after working on the backend module, we can begin with the PoC Open Marketplace implementation.
- For Milestones 4 and 5, it is a good idea to work on these while we work on Milestones 2 and 3, as it is going to increase our development productivity by having tests and docs. Making changes down the road, will be easier and less error prone.
- Milestone 6 does not require any development effort, it is mostly about exposure and advocacy of the project, and the previous milestones are prerequisites for this one.
- Milestone 7 is about keeping the project active and supporting developer / community requests. This will require some triaging for incoming issues / requests and of course some development effort.
Team
BuildSquad (a startup that launched recently) is a curated squad of web3 builders that aim to enrich the web3 ecosystem by developing products, tools, prototypes, and tutorials in the form of open-source public goods.
| Name | Role | Bio | Contact |
|---|---|---|---|
| Amarildo | Co-Founder Software Engineer | Experienced in full-stack web development and blockchain integrations (including Flow), and, a successful track record in early phase start ups. Dreaming of full adoption since late 2018. | [email protected] amarildo#3686 |
| Matthias | Co-Founder | Regulatory lawyer advising major international DeFi and CeFi platforms on their market entry in Europe, product compliance, governance and AML frameworks. | [email protected] Matthias Winter#3465 |
| Marco | Full-Stack Engineer | Freelance full-stack developer with over 10y experience, 2y focusing on Flow & ETH. Web Developer @ Chainmonsters, focusing on website, marketplace and onchain interactions. | [email protected] maggo#1337 |
| Ardit | Back-end Engineer | A seasoned back-end engineer with focus on problem solving and designing robust software systems. Over 8 years of experience building high-traffic search engines, marketplaces, and exchanges and in-house analytics solutions. Lead cross-functional teams to deliver both web and mobile apps, participating in all steps of the software development lifecycle. Open source lover and advocate. | [email protected] mpeter#2138 |
| Aleksa | Full-Stack Developer | Full-stack developer with over 6y experience. 2y focusing on Flow & 4y on ETH. Mostly developing smart contracts or backend integrations for smart contracts. Dreaming of becoming chain whisperer in order to support full adoption. | [email protected] Ten Walls#1056 |
Hi @AmarildoGrembi, thanks again for submitting your proposal! We're reviewing and will get back to you shortly.
Edit: made some small corrections on the proposed solution and small changes on milestones timeline.