Introducing the CENNZnet NFT Module
This article is part of our knowledge hub series, you can find the original piece here.
NFTs are the hot ticket in the digital world right now, but the barrier to entry still remains extremely high. For those without extensive knowledge of blockchain, specifically smart contract coding, getting your NFT idea off the starting blocks is near impossible.
At CENNZnet we don’t think this is good enough. Getting as many ideas and voices into the NFT and blockchain space is what we are all about — so we’ve built a solution!
Hold up, what are runtime modules on CENNZnet?
Good question! The core mission of the CENNZnet protocol is to make blockchain development and functionality available to everyone. To make this possible we’ve done as many of the time-consuming parts of DApp building for you in the form of our prebuilt core services (or runtime modules). These work a bit like plugin functionalities. DApp developers can use and rely on our prebuilt core components (which provide services all DApps need), rather than having to code their own essential parts from scratch.
So what does the CENNZnet NFT module do?
In a sentence, the CENNZnet NFT module allows you to create and sell NFT tokens without needing to deploy a smart contract.
Why is that cool? Smart contracts are awesome, but they do require some specialist skills. Specifically (in CENNZnet’s case) a knowledge of Rust, but also the technical confidence to create a contract that contains all the data and functionality of your DApp, while also being totally secure…. Oh and also once created they are unchangeable.
1.Create a token collection
The first step to creating your NFTs on CENNZnet is creating a specific collection in which to store groups of tokens. This makes it straightforward to organise your tokens by a common theme, such as an artistic feature, a timestamp or even a buyer. A collection can also contain just a single NFT if you would prefer individual groupings.
To create an NFT collection you must define a schema (arrangement) of attributes all tokens in the collection could contain. These could be things such as:
- General appearance (i.e data represented within the NFT)
- A specific timestamp
- A specific creator
- A naming system
- A royalties scheme for secondary sales. This allows one or more creators to receive a set % of a sale price on all sales of your NFT.
Finally, you must give your collection a name. The more discoverable, the better!
2. Create your individual tokens
Once your collection has been created you can start actually minting your NFTs. At this point, you can assign the owner of the token and also individually determine a fixed price or royalty scheme.
3. Sell your NFTs
Now your NFTs are freshly minted and ready to go it’s time to find some buyers! So far in the saga of NFTs, to successfully sell your token you have had to go through some form of an auction house. This not only makes it tricky to have a fixed sale price, but the auction house also takes a cut of the sale price.
With the CENNZnet NFT module, you can buy and sell tokens directly on the mainnet, effectively cutting out the middle man. You can sell your NFTs on CENNZnet in one of two ways:
- Fixed-price sale: The module lists tokens for a fixed price you have set. When a buyer is found they will be able to purchase the NFT and the ownership will be transferred to them. The escrow and fee transaction is done entirely by the module, so the process is fast and easy for everyone involved. Sales can occur in any asset on CENNZnet. e.g. CENNZ, CPAY, cUSD
- Auction sale: This form of sale process will allow prospective buyers to place bids on your NFT over a determined period of time. Auctions can occur in any asset on CENNZnet. e.g. CENNZ, CPAY, cUSD
What if you want to add more functionality?
The great thing about the NFT module is that you can use it to get your tokens up and running fast, but it doesn’t have to limit your creativity. If you wish to add more complex or unique features to your NFTs you can add them to the module’s functionality with your own smart contract. This can be done during your minting process or any time afterwards.
This gives devs a pretty awesome opportunity to take advantage of a simple quick start NFT module, without then having functionality forever restricted. CENNZnet offers a middle ground where you can gradually improve and advance your NFTs as time goes on, business needs change or further opportunities arise.
Thinking about ownership, storing NFT data on chain
The realisation of NFTs has opened up a lot of questions about the nature of ownership. In practice ‘owning an NFT’ actually means you own a unique hash on a blockchain which proves that the NFT belongs to you. The actual data which forms the NFT (arguably the NFT itself) is stored off-chain, wherever the creator had placed it. This means that if the web host or even hard drive where the NFT is stored is somehow compromised, the NFT you own could be totally lost. While having a complete NFT on-chain is unfeasibly expensive (due to data storage costs), it seems unreasonable to not have some record of the NFT metadata attached to the on-chain hash.
CENNZnet wants to change this. We encourage a set of best practices around NFT data storage and creation. Specifically, any data which is stored off-chain should be accompanied by a fingerprint (hash) within the NFT itself. This means that users will be able to verify the off-chain data against the fingerprint stored on-chain. Data storage is already a decentralised landscape. Data can be copied, stored in multiple clouds, stored on another blockchain, on a mobile device, even on a piece of paper! The owner of a token should be responsible for its off-chain data storage and this allows would-be buyers to verify its authenticity against the on-chain fingerprint at the time of sale. By setting this precedent we hope to give our community more transparency over their owned assets and confidence in their transactions.
Where to next?
We are super excited to report that the NFT module will be live and available on the CENNZnet mainnet on the 28th of May! This means that you will be able to start minting NFTs or even build your own marketplaces on CENNZnet.
After the module goes live the team will be working hard to implement the UI for user-friendly minting and an NFT marketplace.
Stay tuned to our Twitter for more updates and get working on your NFT ideas!