Using the combined capabilities of Hardhat, JavaScript, and Solidity, you will create customized smart contracts that are intended to be implemented on the Polygon chain throughout this tutorial. By the time this course ends, you will have a thorough grasp of the steps required to create and implement your own NFT art, complete with on-chain metadata.
Before you can start creating your first NFT, you need to make sure you have all the required dependencies and tools set up. You must install Hardhat, Node.js, and a coding editor. You will also use the OpenZeppelin framework to construct smart contracts. Installing everything you need to start creating your own NFT masterpieces is simple and only requires following the given instructions.
You will learn how to put static SVG-based NFTs on the Polygon chain and see them in use on the OpenSea marketplace to get you started on the path toward NFT creativity. This section will walk you through creating SVG pictures, deploying them on the blockchain, and setting up the necessary smart contracts. Lastly, you will confirm NFTs' visibility and tradability on OpenSea, which will be the first step in presenting your digital works to the public.
You will look at how to create random SVGs using Chainlink VRF, creating genuinely unique and rare NFTs. You will modify your smart contracts to include this randomization feature, implement them on the Polygon chain, and confirm that your randomly produced SVG NFTs are visible and tradeable on OpenSea.
Using the OpenZeppelin library for standardization, you will define the required smart contract, SVGNFT.sol, in this part. You will go over the contract code in detail, explaining the variables and functions that are necessary for your static SVG NFTs.
Understanding the foundations of SVG image production and how your smart contracts work together seamlessly is essential to producing NFTs. This section provides an overview of SVGs and explains how they may be used to represent pictures in a programmable and scalable way. In addition, you will investigate how to include SVG creation into your NFT smart contracts, which will establish the groundwork for your adventure.
You will explore how to incorporate SVG graphics into your NFT metadata in this section by transforming them into a format that can be stored and seen on the blockchain. You will look at Base64 encoding and discover how to use JavaScript to convert SVG files into picture URIs. You will be able to easily integrate SVG images in your NFTs' metadata if you complete this important step.
The main objective of this section is to develop a method to format the metadata URI for your NFTs. Using this method, you will combine the URI of the SVG picture with further metadata information to create a carefully organized JSON object. The final token URI, which is constructed in accordance with standards, will be kept on-chain and offer detailed information about our NFTs.
It is time to launch the SVGNFT contract onto the Rinkeby Testnet now that your smart contract and all necessary features are set up. You will start the deployment procedure by setting up the contract with the required parameters using a JavaScript deployment script that was created using Hardhat. The SVGNFT contract will be deployed via this deployment script, which will also provide you with the contract address that you need for further operations.
Now that your deployment script is ready, it is time to use Hardhat to carry out the deployment procedure on the Rinkeby Testnet. You will implement your SVGNFT contract and make sure everything works as it should. You will also openly access the contract on Rinkeby Etherscan for verification. When this phase is finished, you will see your NFTs on the OpenSea marketplace smoothly. You will verify the visibility of your static SVG NFTs and make sure their information is shown appropriately by linking your deployed contract to OpenSea.
Now that you have successfully deployed and seen static SVG NFTs, you will move on to the fun part: creating random SVGs. You will launch RandomSVG.sol, a new smart contract that will manage the random SVG-generating procedure. You will create a strategy for producing original SVG pictures utilizing random components like colors, shapes, and patterns before getting into the implementation specifics. A successful implementation process will be facilitated by an understanding of this plan.
You will implement the essential features of your RandomSVG contract in order to enable random SVG creation in this set of parts. To send a request to Chainlink VRF, you will first build the create function. Next, you will respond to the randomization callback. Then, using the finishMint function, you will complete the minting process and make sure that the resulting SVGs are seamlessly integrated with your NFTs. You will also explore creating SVG pictures with the generateSvg function, working with generatePath to customize routes, and creating path commands using generatePathCommand.
With your RandomSVG contract and associated functions ready, it is time to deploy them to both Rinkeby Testnet and Polygon Mainnet. You will create a deployment script leveraging JavaScript and Hardhat to handle the deployment process. Before deployment, you will set up mock contracts for Chainlink VRF and OpenZeppelin's ERC721 implementation for testing purposes. Upon successful deployment, you will verify the contract on Rinkeby Etherscan and ensure the visibility of our RandomSVG NFTs on the OpenSea marketplace. Finally, you will adapt your deployment script to target the Polygon network, deploying your NFTs and enabling trading by setting a price.