Please describe your proposed solution.
The Problem
There are no ready made packages to help developers add NFTs to their projects with ease. If you want to build an app which uses NFTs, you either have to build everything yourself, or you use an out of the box ready solution like NMKR, which doesn’t allow you to customize much.
If you want to get started quickly to build out a platform, yet still have the flexibility to make it look and have any features you may want, you don’t have an option. You must build it all yourself: the NFT gallery to view NFTs, an NFT display to view the details of an NFT, and the code to read the blockchain, the metadata, and the decentralized storage.
This means only developers with good understanding of NFTs on Cardano can get started easily. Everyone else must go through a steep learning curve to not only implement the frontend components, but implement the reading and displaying of all the information of the NFTs.
The Solution
The solution is to develop an open-source javascript framework that implements the following:
- An NFT display to view a single NFT in detail, supporting viewing multiple images, and gifs, and any links or text within the metadata.
- An NFT Gallery to view collections, the NFTs in your wallet, or a set selection of NFTs
- Helper functions to read Cardano for NFT data, including the metadata, and any decentralized storage
- A fully customizable starting point for any developer building a project with NFTs.
This will:
- provide a simple framework to build cNFT project prototypes
- speed up development times for building cNFT projects
- lower barriers to entry for new Cardano developers
- increase the number of cNFT projects
- allow other cNFTs use cases to be explored by developers.
The framework will be agnostic to the use case of the developer. cNFTs can be used in any way, and this framework will not care. Point 5 refers to existing solutions that shorten NFT implementation time to be entirely on the topic of NFT marketplaces. ie. NMKR Custom NFT store.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
Alignment with the Challenge
One of the stated aims of the challenge is: Creation and improvement of tools and software that help make it easier for projects to develop on Cardano. This proposal addresses this aim directly as it aims primarily to make developing NFT projects easier. The proposal will allow developers to quickly build out projects that use CNFTs, decreasing development time and time to prototype.
The challenge also highlights in the types of proposals:
Native asset tools & software - Development tools, libraries and SDKs to improve how the community and developers can issue and manage native assets.
This proposal builds out such software to manage native NFT assets.
The project is also open-source from day 1. The entire point of this is to allow for the open source Cardano developer community to benefit from this work, and take it forward.
What impact will this project have for Cardano?
The project will add an open-source base for NFT projects to build upon. This will cut development times and make it simpler for anyone to start NFT projects.
This will have a tangible impact on Cardano open-source community, as there is no such example of an open-source library that allows you to play with Cardano NFTs. There are many minters, some NFT marketplace projects even, but nothing of the sort we are building. Combining these open-source projects you'll be able to create a full featured NFT project on Cardano with ease.
See these github search results to verify if there are any open source NFT displays for Cardano:
https://github.com/search?q=cardano+nft+display&type=repositories
https://github.com/search?q=cardano+nft&type=repositories
How do you intend to measure the success of your project?
Since this is an open source framework to be made available to the public on github, it’ll be easy to measure the success of the project. We will look primarily at this activity:
- the number of stars on the repository,
- the number of forks, clones, and traffic for an open source repository,
- the number of feature requests.
Together, these metrics provide a good picture of how much engagement our project receives from developers. The higher the numbers, the greater the success.
With this project, the number of cNFT projects, and the speed at which they can create and test prototypes will increase. This will help developers onboard to Cardano, provide an easier on-ramp for new developers to start building on Cardano, and thus improve the productivity and growth of Cardano. All this impact is difficult to measure, but the metrics listed above will provide a very good proxy.
Please describe your plans to share the outputs and results of your project?
As we develop the framework, it’ll be available on github as a public repository. So our outputs will be shared as we develop it. To spread these outputs we will share it on official Cardano and IOG developer channels on Discord and Telegram, as well as in community groups such as Gimbalabs, Konma, and Catalyst Swarm. We will also provide updates on our progress through our Twitter account to reach more of the Cardano developer community.
This will get our work into the hands of hopeful developers looking to build cNFT projects. We expect this to result in forks of our own project, further development of the framework by others, and use of the project as a base on other projects.