Development of Valorize DAO’s Unity NFT: Part 1 — Product NFT

Marco Huberts
Published in
4 min readSep 4, 2022

--

By Marco Huberts

Our Unity NFT project consists of everything an NFT enthusiast’s heart desires: a passionate team of Valorize DAO contributors, 13 top-tier artists creating exceptional art and experienced smart contract developers creating custom smart contracts that suit the needs of this huge NFT project. The first NFT project that is part of Unity NFT, the Product NFT project, will be launched on the 20th of September 2022.

The Product NFT project centers on the use of the Valorize DAO’s product: an application where you can launch your own token with one click. It is a user-friendly ERC20 token launcher that allows you to create tokens that suits your needs, including optional timed minting and airdrop functionality. After launch, the application provides easy token managing through a dashboard, which further improves the accessibility and user experience of token usage on the Ethereum network. A guide on how to launch your token using Valorize DAO’s application can be found here.

Rewards for Minting and Holding a Product NFT

The Product NFT project contains three different rarities: Mycelia, Diamond and Silver. All NFT holders will receive monthly airdrops of our transitional governance token $tVALOR, whereby the amount is dependent on the rarity of your NFT. Besides the airdrop of governance tokens, minting a Product NFT will give you additional benefits based on rarity:

Product Status of Product NFTs

The Product NFT‘s art changes based on the product status. There are three stages: not ready, ready and deployed. Silver and Mycelia NFTs can launch their token directly after mint, so when minted they will be given the ready status. Diamond NFTs have an incubation period of a month before the NFTs are ready for deployment, so on mint, the product status of Diamond NFTs will be set to not ready. After that period, the Diamond NFTs will be given the ready status and holders can launch a token through the valorize app. See below for a sneak peek on the art for each Diamond NFT stage.

Smart Contract Development

With the above mentioned features of the Product NFT project in mind, we can start to develop this smart contract. We will use the ERC1155 standard as it allows batch transfers and many other useful functions compared to ERC721 and ERC721A. The smart contract code can be found here on Valorize DAO’s GitHub.

Our custom smart contract should contain the following implementations:

  • Three distinct minting functions for Mycelia, Diamond and Silver NFTs.
  • A function that sets the product status on mint.
  • Functions that change the product status from not ready → ready to deploy and, from ready to deploy → deployed.
  • An external function that returns the rarity of the NFT.
  • Implementation of EIP-2981 for royalties.
  • Slow minting: inheritance of an abstract contract that allows NFT buyers to only mint a small amount of NFTs per round.

Three-Rarity Minting Functions

These functions inherit the batch minting functions of ERC1155 ,which allows users to fill in an amount and to mint that amount of NFTs. Upon mint, each NFT will have its own token Id whereby each token Id has the product status set, and an event with that information will be emitted. Anytime after mint, you can check your product status and rarity of your NFT.

Workflow of Minting an NFT through the Product NFT Smart Contract

NFT Royalties: EIP-2981 Implementation

As previously mentioned here, we have created a royalty distributor smart contract that allows artists to receive their part of the royalties and, if needed, to change the address that receives those royalties. But, in order to have that smart contract receive and distribute those royalties, we need to implement the interface function of the royaltyInfo function of EIP-2981 in the Product NFT smart contract. This function returns the account addresses, and the royalty amounts in Ether that NFT marketplaces use to distribute royalties after each transaction.

Slow Minting of NFTs

In order to make sure that we are able to have enough time to provide the best token consultancy for all our NFT holders, we initially want to make only a limited amount of NFTs available. Through the slowMintable abstract smart contract we can set the amount of tokens that can be minted per rarity.

The Product NFT project will launch the 20th of September 2022.

Join our discord: https://discord.gg/hrXRtb5A

Stay tuned for part 2 about our Membership NFT project!

For more information about the Unity NFT project, visit our website: https://nft.valorize.app

New to trading? Try crypto trading bots or copy trading

--

--