The problem SolCodes | Programmable NFT Marketplace solves
What is SolCodes
- NFT Marketplace where Artists can upload, mint and sell/auction HTML files (with CSS, JS, images etc inside) as the major component of their artwork
Whom are we serving?
- Empowers Artists to create (mint) and sell (auction) HTML based Programmable Digital Art
- Facilitates Software Developers to explore better art frontiers
- Allows Collectors to purchase, own, share and resell Programmable Digital Art
What are we solving?
- The inherent rigid, static and inflexible nature of current Digital Art (NFTs)
- The inability to build a Digital Art piece that can change:
- on user interaction
- over time
- based on an API
- based on any other internal/ external parameters
What's the impact?
- Art is meant to be constantly evolving - we're just here to promote the next generation of Digital Art
- Promoting the usage of HTML as the main NFT component, in order to usher a new era of truly immersive, interactive and customisable art
Current & Future
Existing Prototype
- Supports creation of HTML based Digital Art
- Supports creation of off-chain conditionals and allows connection to centralized APIs, all through JS
MVP
- Support for Extended NFT Types - these would trully enable the Artist to upload an NFT with configurable assets/parts
- Will help expand SolCodes into n different use-cases, for e.g., Async.art is built on a single-purpose use case of Master and Child layers. Instead, SolCodes should be able to support multi-purpose use-cases.
Full-fledged framework
- Extension to WebAssembly and integration with state-of-the-art frameworks. This will allow SolCodes to truly upgrade from a single-purpose NFT marketplace website to a full-fledged framework.
- With a framework in place, SolCodes will be able to support on-chain triggers for changing NFT states in much more depth.
- Would also make SolCodes truly extensible - so that integrations could be built for wallets, and other Web3 applications.
Challenges we ran into
Lack of educational material
- Any new, upcoming technology has it's own learning curve, but BlockChain introduced a myriad of resources to grasp, even before beginning to write code.
- The Solana community is extremely helpful, but stil doesn't make up for the lack of tutorials and user guides.
Lack of infrastructure, maturity
- Documentation, a basic necessity, is unclear in many growing repositories, hinting at a dire need to invest into the same.
- Frequent downtimes on the devnet show that the developer-base is growing, but time to debug is still higher than usual.
- Many of the projects are in their infancy - which means that they have a lack of documentation coupled with a lack of great structure, best practices, or rules of engagement. For e.g. Metaplex was init in June 2021.
Incident we ran into with Metaplex
- Our submission is based on the Metaplex project, which provides an open-source solution of:
- rust based block-chain programs
- react based front-end program
- The react app lacks a lot of best practices,
for e.g.,
- Upon building and deploying, the app connects directly to the mainnet, instead of the devnet or testnet.
- Further, improper configuration forces the user to manually change variables in multiple places in order to correctly connect to a different Solana Network.
- We solved this problem by diving deep into the code and some good old-fashioned debugging - Once we understood that the connection is forced to the mainnet, we simply had to find a way to connect to devnet instead.