Proposing an NFT stack on Vite
A simple approach
Intro
Many Vite community builders have inquired about ways to develop a Vite-based platform that enables minting, auction, and trading of NFTs. This document outlines one approach that seems sensible to the Vite Labs team.
Note this is a VERY simple approach. For instance, this doesn’t take into consideration the “approval” function as outlined in Ethereum’s EIP-1155 (allowing another operator to manage one’s tokens). As such, there may be many other approaches, and we encourage community builders to explore them.
In case you’re unaware, Vite Labs is hosting a hackathon, and building an NFT platform is one of the bounties. As of publishing time, there is still time to participate!
Proposed Stack
Basics
Each set of NFTs (e.g., CryptoPunks) is represented by a smart contract. Creation of a new NFT set requires deployment of a new contract. Minting of each new item (e.g., Punk #1234) requires a call to a function in this contract. The contract stores a mapping between owner addresses and some meta data for the NFT item. The meta data may include the name, description, and an IPFS link of the item.
Storage
IPFS is being used to provide decentralized storage for the NFT item. See more information about IPFS here (to be clear, this document also covers minting NFT on Ethereum, which isn’t relevant here).
Transfer
The owner of an NFT item can call a function in the NFT smart contract to effect a requisite change in the ownership table.
Trading/Auction
An exchange between a Vite-native asset (e.g., $VITE) and an NFT item can be implemented as a function on the contract. A user can send funds while calling this function to effect a paid transaction. This function will be the building block for trading and auction functions of the NFT platform.
Display
Users log into a web app with Vite Connect and see their digital content as resolved from the IPFS link in the relevant NFTs they own.
Conclusion
Again, this is a simple proposal of an NFT stack. And don’t forget to participate in our hackathon! You can also join our developer Discord if you have any questions.
Official: https://www.vite.org/
ViteX Official: https://vitex.net/
Twitter: https://twitter.com/vitelabs
Vite Forum: https://forum.vite.net
Telegram:
- English: https://t.me/vite_en
- Chinese: https://t.me/vite_zh
- Russian: https://t.me/vite_russian
- Japanese: https://t.me/vite_japanese
- Vietnamese: https://t.me/vite_vietnamese
- Arabic: https://t.me/vite_arabic
- German: https://t.me/vite_german
- Turkish: https://t.me/vite_turkish
- Indonesian: https://t.me/vite_indonesian
- Portuguese: https://t.me/vite_portuguese
- Filipino: https://t.me/vite_filipino
- French: https://t.me/vite_french
- Spanish: https://t.me/vitespanish
- Indian: https://t.me/Vite_India
Korean Kakao Community: https://open.kakao.com/o/gWp9av5c
Reddit: https://www.reddit.com/r/vitelabs/
Discord: https://discordapp.com/invite/CsVY76q
Facebook: https://www.facebook.com/vitelabs/
Instagram: https://www.instagram.com/vite.labs/?hl=en