NFTs stormed into the world of crypto back in 2021 with record-level sales volumes and the whole ‘zoo’ of collectibles such as Bored Apes, CryptoKitties, and Pudgy Penguins. Since then, making NFTs is not an exotic activity, but rather a skill that developers and even artists can conquer with ease.
In this instance of our blog posts, we’ll go through the essentials of how to make NFT art to sell. We’ll also explore the technical aspects involved in designing smart contracts for anyone looking to engage with NFTs on a deeper level.
Guide to NFTs: Highlights
NFTs are one-of-a-kind digital assets, each with its distinct value and ownership provided by blockchain technology.
Non-fungible tokens representing various content types from visuals to real-world objects are powered and secured by smart contracts;
Creating NFTs involves mastering decentralized storage, selecting a blockchain, setting up an NFT-enabled wallet, and choosing the appropriate platform to trade;
Ethereum is the leading blockchain for NFTs, but other options like Polygon, Solana, BNB Chain, and ImmutableX are great alternatives;
Some NFT platforms offer an easy way to create and list NFTs without coding experience, but they come with less control over smart contracts and storage;
For advanced users, creating custom smart contracts for NFTs provides greater control and transparency over the minting process;
Before we dive into the specifics of how to make NFT art, let’s focus on the unique characteristics of non-fungible tokens.
What are NFTs and why are they valued?
The term itself, ‘non-fungible token’ abbreviated into NFT, initially gives an idea of what we’re dealing with. First of all, it is a token issued on one of the blockchains that can be traded and transferred.
Yet, unlike other token types that are fungible, i.e. can be equally exchanged with one another without any loss in value, each NFT is one of its kind and cryptographically attached to its owner.
A beautiful synergy of artwork and code turns digital assets into valuable possessions due to the following characteristics:
- Scarcity: non-fungible tokens accrue their value for being different from any other asset of the same kind, which is manifested into a smart contract and registered on the blockchain;
- On-chain provenance: Backed by blockchain, NFTs feature a permanent and easily authenticated record of the journey from owner to owner. While everyone can right-click and save any image or media content and put it on sale on OpenSea, that piece will hold no value without being able to represent its ownership.
The asset itself can be a static image, visual, audio, or text content, and even a real-world object from concert tickets or branded merch to real estate rights.
How do non-fungible tokens work?
What makes NFTs intrinsically different from any other digital piece of content is blockchain under the hood, a network that records information in a way that’s impossible to change or forge.
RELATED: https://getblock.io/blog/what-is-a-smart-contract-in-blockchain/
Smart contracts predefine functions that determine what is allowed and not allowed to do with NFTs. Correspondingly, upon selling the token, the contract is triggered to register the buyer as a new owner. Links to a location where the image is stored are also set in the code.
Image by 2muchcoffee
When the smart contract is initialized, the token is considered minted, i.e. settles on the blockchain and can further be traded and transferred. From now on, every interaction with an NFT is regulated by a code rather than an intermediate party.
How to create an NFT: Preparatory steps
You may already have an idea of what you want to share with the world. Otherwise, it’s quite inspirational to learn from successful artists or even ask AI for help. A few more steps to ensure a smooth experience with NFTs for beginners will be listed below.
Take care of decentralized storage
For NFT content longevity, consider decentralized storage like IPFS instead of traditional services like Google Cloud or Amazon buckets.
Store an actual image or file for your future NFT to obtain an 'ipfs://' link and metadata in .js format that will include the link to the visuals and a detailed description.
Image from OpenSea
We overviewed IPFS in this article, take a minute to look through the detailed guide.
Choosing a blockchain
The network selection will determine fees imposed for wrapping your digital art into NFTs. Another aspect to consider here is which blockchain boasts the bigger audience waiting for new collections to pop up.
Reputation of the chain as a secure protocol is also important. Here’s where Ethereum is way ahead of its competitors as it accounts for over 80% of NFTs despite higher gas fees and slower capacity.
Setting up an NFT wallet
Make sure to get an NFT-enabled crypto wallet that is also compatible with the blockchain you’re going to use. MetaMask is the preferred choice among crypto enthusiasts.
Take care of funding your wallet with some crypto beforehand to cover gas fees for listing and trading your freshly minted non-fungible tokens.
Choose an NFT platform
When your concept is ready and all files set up, it’s time to visit a marketplace and list your token. Below is the list of platforms that allow users to mint their NFTs on the go via their website.
# | Marketplace | Monthly Transactions | Listing fee | Seller fees | Royalties | Supported Blockchains | Size Limits |
---|---|---|---|---|---|---|---|
1 | OpenSea | 530K | 2.5% | 2.5% | Optional | Ethereum Polygon Arbitrum Optimism Klaytn | 100MB |
2 | Magic Eden | 47M | 0% | 2% | Optional | Solana Ethereum Polygon | 100MB |
3 | Rarible | 14M | 0% | 1% | Optional | Ethereum Polygon Tezos Immutable X | 30MB |
OpenSea goes first on our list despite the less favorable fee structure since more than 90% of people interested in NFTs have used the platform as per Dune’s research. Keep in mind that marketplace policies can undergo swift transformations, so please be aware that the information shared is accurate as of October 2023.
Making and selling NFTs with OpenSea for beginners
OpenSea is one of the platforms that onboard creators without any coding experience. If you’re wondering how to start an NFT project with only artwork and a MetaMask wallet at hand, platforms like OpenSea that offer minting services are a great choice to play around with.
Making an NFT token with the marketplace is as easy as connecting your wallet to a website. From there, you’ll be able to mint a whole collection or separate assets by simply filling out the form. After finalizing this step, go ahead and list your digital asset by clicking ‘List for Sale’.
Image from OpenSea
One attractive feature of OpenSea is that users are not required to pay any service or gas fees to mint separate NFTs. However, both network fees and platform commissions will apply in the listing stage.
On the downside, effortless minting on OpenSea means you’re using the platform’s smart contracts and have little to no control over where your files and data are stored as well as no guarantees for the security of these contracts.
How to create your own NFT smart contract
Self-curated smart contracts offer greater control and transparency over your NFT creation process. This method is ideal for advanced users with some Solidity knowledge.
To create non-fungible tokens for Ethereum, Polygon, or every other EVM-compatible chain, we’ll leverage the OpenZeppelin library to help us set the base and proceed with Remix which will compile and land our code to the blockchain.
Additionally, GetBlock's Ethereum RPC endpoints will provide free access to blockchain data and nodes.
Open up the Contract Wizard by OpenZeppelin, select one of the available options, ERC-721 in our case, and submit the name followed by a symbol;
Next, fill in the ‘Base URI’ with an IPFS link that stores the metadata for your NFT in JS format and select features that you want to have for your asset;
Image from OpenZeppelin
Find an ‘Open in Remix’ button and click it to have your contract transferred to an online developer environment.
From now on, you’ll be able to modify the code and fill it in with your own requirements. Generally, the following changes are to be made in basic NFT contracts:
Set the maximum supply and minting price:
Under the safeMint() function the following modifications are also needed:
// Remove onlyOwner section to allow anyone mint the token and add a ‘payable’ modifier function safeMint(address to) public payable { // Set the limits to minting and a message delivering that no more NFTs can be minted require(totalSupply() < maxSupply, "All NFTs are minted"); // Ensure that the buyer has enough funds in the wallet to finish the transaction require(msg.value >= mintPrice, "Not enough funds"); uint256 tokenId = _tokenIdCounter.current(); _tokenIdCounter.increment(); _safeMint(to, tokenId); }
Then, we should be able to withdraw funds from our contract by adding a function as shown below:
function withdraw(address _addr) external onlyOwner { uint256 balance = address(this).balance; payable(_addr).transfer(balance); }
- Navigate to the fourth button on a sidebar titled ‘Solidity Compiler’ and make sure to switch to the proper compiler version coinciding with the one specified in the code. Compile the contract by saving the file or pressing the button under the same section.
Image from Remix
- Once the contract is polished, it’s ready for deployment. To ensure the process goes smoothly and will not require real ETH, we’ll go with Ethereum’s Sepolia testnet.
First off, let’s set GetBlock as the provider to have a gateway to the blockchain where the NFT will be minted.
To do that, create a GetBlock account and grab your free endpoint for a desired network. Add a new network to MetaMask, using the acquired RPC link:
Image from MetaMask
- From the sidebar, switch over to the ‘Deploy & Run Transactions’ section and configure the environment by selecting ‘Injected Provider - MetaMask’. If the network we added in the previous step is active on MetaMask, it will connect to Remix automatically.
Make sure it has some funds to cover gas fees. If you’re using the testnet, try faucets to receive free test ethers for your on-chain experiments.
- Click ‘Deploy’ and confirm the transaction from the wallet extension that pops up.
Image from Remix
And with that, we’re done! The newly created NFT will be visible on our testnets.opensea.io account or on the main OpenSea website if the mainnet is used.
Final thoughts
With the right approach, NFTs can offer exciting opportunities for artists, developers, and creators in the digital age. Generally, it's essential to prioritize the quality and uniqueness of your content, stay informed about the evolving NFT landscape, and consider the long-term value of your digital assets.
Have you set up your GetBlock account yet? Sign up in one click with MetaMask and experience the convenience and reliability of our blockchain infrastructure. Whether you're a developer, entrepreneur, or blockchain enthusiast, GetBlock is here to support your journey.