Search

Moving from ERC 721 to ERC 721A

Updated: Sep 28



Let's be honest, there is no one who likes high gas fees, well except for miners of course. Crypto development community has always found ways to keep the fee prices down, this time it's no different. We aim to achieve precisely that by using a slightly different token standard for our collection. This optimisation trick is partly borrowed from Azuki’s smart contract. During their auction, all the 8700 tokens that were made available to the public were snapped up in minutes. Despite heavy demand, the base fee remained low, leading to low gas costs for minters and no network disruption for the wider ecosystem.

How does it function: ERC721A does not seek to change the token standard. Rather, it is designed to perfectly fit within it. However, it takes a radically different approach in order to fulfill what the standard demands compared to the code previously in widespread use for other NFT projects

In short, the focus for the dev team has been to optimize the contract and enable the community to spend as little as possible in gas fees when minting. We achieved this by Implementing these three changes:


Optimisation 1 - Removing duplicate storage from OpenZeppelin’s (OZ) ERC721Enumerable


Optimisation 2 - Updating the owner’s balance once per batch mint request, instead of per minted NFT

Optimisation 3 - Updating the owner data once per batch mint request, instead of per minted NFT


We don't want to bore you with technical language but in case you are interested in learning more about the underlying tech changes, you can read a more detailed explanation from the original Azuki developers - here

In simpler terms, we removed unnecessary duplicates to free up some storage. Programmed the contract to update owner balance and owner data once instead of doing so for every single NFT they purchase.


These implementations greatly reduce the amount of gas needed to mint new NFTs, especially for NFTs minted together in batches — additional NFT’s can be minted with very little extra gas spent resulting in significant savings.


Unlike Azuki collection, our version of the smart contract allows for the tokens to be burned which necessitated further changes to the smart contract.

The latest tests have resulted in a mint gas fee of under 10$ (considering price of ETH$3,000 at 40 Gwei)



If you are confused about what all those numbers mean, don't despair it's pretty simple. The table above shows the gas prices in gwei.


Most of you are probably wondering, "What the hell is a gwei?" Put simply


1 Gwei is 0.000000001 Ether (1 billionth of an Ether) that is used to measure the cost of transactions on the Ethereum network.


You can always check etherscan for current gas prices to make sure you are not minting during a congested period.




Now that you understand what gwei is let's calculate the cost of a minting transaction.


cost of transaction in ETH = gas required * gas price in gwei * 0.000000001

For this article, we are assuming Gas is 40 Gwei and ether is $3,000.


Given that:


cost of transaction in ETH = 80,000 * 15 * 0.000000001 = 0.0012 ETH


Ether per Gas * $1300 per Ether = $1,59


That would be the total gas cost for minting 3 NFT's

Although during our test we were able to achieve even better results, the network congestion during peak hours can double or sometimes even triple this fee.


To prevent extra fee expenses, you can check the blocknative heat map to pick the most optimal time to make the transaction.


From Emily. With Love <3


39 views

Recent Posts

See All