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
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
Supports creation of HTML based Digital Art
Supports creation of off-chain conditionals and allows connection to centralized APIs, all through JS
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.
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,
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.