Web3 ̶m̶r̶k̶t̶g̶ mavens | 🟣 decoding web3, one layer at a time
Web3 ̶m̶r̶k̶t̶g̶ mavens | 🟣 decoding web3, one layer at a time

Subscribe to KLAVA

Subscribe to KLAVA
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers


It's undeniable that NFTs have contributed to legitimizing blockchain and cryptocurrencies in the mainstream world, attracting an entirely new audience that primarily sees NFTs and digital art as a great opportunity to get rich. This is why I actually think that this, at present, is absolute digital garbage, as are the metaverses: spectacles of speculation devoid of any concrete use cases or aspirations. But my subjective opinion is debatable to those who loudly demand bored monkeys or, worse still, to pollute Bitcoin's mempool with vulgar ordinals. If you've gotten this far without telling me off, here's some concrete stuff on the NFT phenomenon, below.
More and more users have become interested in non-fungible tokens, rapidly growing a market still unexplored to impressive performances. In the near future, NFTs will change the way we create, consume, and distribute digital content, opening up new, never-before-seen use cases; for these reasons, understanding the standards underlying this phenomenon helps us also understand the technology and usability of each NFT and the various blockchain protocols involved.
Thanks to blockchain, we have been able to make a digital object unique for the first time in history, allowing us to buy and own files, resources, and digital properties. These properties, presented in the form of a digital token, can be exchanged and sold just like any other asset. Non-fungible tokens are unique tokens that are distinguishable from other tokens and, most importantly, cannot be divided or fractionated, distinguishing them from all other tokens.
NFTs thus mark an evolution of blockchain-based assets, providing users with a digital token different from cryptocurrencies that grants ownership of an indivisible and non-duplicable digital object.
Since the debut of CryptoKitties in 2017, which severely tested Ethereum's network, the NFT market has grown immensely, setting new records not only in growth but also in sales and volumes, even making its way into the world's most important auction houses.

Many of us are part of an emerging technology that could change the future of finance and our surroundings: setting rules and adhering to them is the basis for standardization aimed at designing new paradigms.

Monetized Graphic, the first NFT. Ethereum is the primary blockchain for creating (minting), storing, and exchanging NFTs; it's here that the first NFT was born, at a conference among technology and art enthusiasts, Kevin McCoy and Anil Dash made the first transaction of a digital image on blockchain, it was 2014 and they were unaware that non-fungible tokens would explode dramatically within a few years, bringing projects like CryptoPunks and BAYC into the mainstream media, breaking any sales record for digital art: In March 2021, a piece of art called Everydays: The First 5000 Days was sold for 69 million dollars at Christie’s Auction House.


In this article, we will see what an NFT is made of, its token standards, and how to upload it online.
An NFT is composed of 3 objects:
Token Identifier (or ID)
Token Owner
Metadata associated with the token

The ID is simply a numerical representation associated with the NFT and its owner, making it distinguishable from others; the Owner is the address associated with the owner's wallet, and finally, the Metadata, the true content of our non-fungible tokens.
Storing data within a Blockchain is a very costly practice: block size, mempool size, and transaction costs make it a poorly suited medium, on Ethereum, for example, there isn't enough space on the block to store an image (unless in the form of a small SVG, in vector graphics). The massive storage of images, videos, gifs, or any other digital media must therefore be saved elsewhere online, which is why technologies like IPFS or Arwave and services dedicated to them play a key role in decentralized storage; this is why it was decided to include only the NFT-related data in the Blockchain and not the NFT itself, thus saving a lot of space and safeguarding costs. But what exactly are these metadata made of?
A metadata is essentially a JSON file that contains:
Description
Link to digital media (gif, jpeg, ...)
Features (traits, attributes, ...) ...

ERC stands for Ethereum Request (for) Comments, it outlines the set of rules and instructions that developers must follow to implement all new functionalities. ERCs are essentially EIPs (Ethereum Internal Proposals) with aspirations mainly dedicated to decentralized applications.
As can be seen from the image released by OpenSea, a well-known NFT marketplace, the smart contract, in this case based on ERC-721, contains the Owner's address and the TokenURI, a special option that contains the "location" where the Metadata containing the NFT's features, including an external HTTP URL or on IPFS or ArWave, reside. More information on Metadata: https://docs.opensea.io/docs/metadata-standards
To better understand how they appear, here are the Metadata of the famous Meebits by LarvaLabs:
{
“name”: “Meebit #12347”,
“description”: “Meebit #12347”,
“image”: “http://meebits.larvalabs.com/meebitimages/characterimage?index=12347&type=full&imageType=jpg",
“attributes”: [
{ “trait_type”: “Type”, “value”: “Human” },
{ “trait_type”: “Hair Style”, “value”: “Ponytail” },
{ “trait_type”: “Hair Color”, “value”: “Dark” },
{ “trait_type”: “Glasses”, “value”: “Aviators” },
{ “trait_type”: “Shirt”, “value”: “Tube Top” },
{ “trait_type”: “Shirt Color”, “value”: “Green” },
{ “trait_type”: “Pants”, “value”: “Leggings” },
{ “trait_type”: “Pants Color”, “value”: “Blue Camo” },
{ “trait_type”: “Shoes”, “value”: “Canvas” },
{ “trait_type”: “Shoes Color”, “value”: “Gray” }
]
}
The idea behind Metadata is to find a solution to describe the features of NFTs even to a non-specialized audience like artists and not just developers, who can adhere to a set of instructions to create their collection; what an artist needs are:
Create their own collection or NFT individually (images, gifs, videos)
Upload the media online (AWS, cloud, IPFS, ...) and obtain a URL associated with each of them that will then be inserted in the Metadata
Generate a unique JSON file for each media containing the metadata as shown in the standard above (image URL, attributes/traits, name, etc.)
Upload all the JSON files to the desired online support (AWS, cloud, IPFS, ...) and obtain a URL associated with each of these JSON files.
Since centralized services like AWS or similar Cloud services suffer from two issues related to the goal we want to achieve:
Centralization: if the server is hacked or goes down even temporarily, our file will be lost with it or become inaccessible.
Location Based: this type of server indexes files by name, which means that if we uploaded two different files with the same name (three.png) by overwriting them we would have a different aspect from the previous one, which is precisely what we want to avoid in the NFT context by giving uniqueness to the digital object.
The IPFS system (Interplanetary File System) solves this issue by returning us a CID (Content Identifier) as a product of this procedure, which will not only be our IPFS address but will depend on the content of its metadata: if these were to change, the URL would change with it, thus returning completely different files: in the system adopted by IPFS it is in fact impossible to return two different images from the same URL.
Furthermore, the IPFS system is a decentralized mechanism that allows files to be distributed on the network without having a specific server, making the data highly resilient to problems that a centralized system like AWS or similar encounters.
Although all this may seem complex, for the more tech-savvy it is possible to experiment with the repository provided by YOMI for the generation of Smart Contracts for NFT deployment: https://github.com/yomi-digital/nft-contract.

Thanks to YOMI, we created a tool to allow the reader to dabble in creating Metadata on the ERC-721 standard; at the link https://yomi-digital.github.io/nft-ui/#/ it will be possible to:
Upload: we will be able to upload the file that we want to make into an NFT: it will be uploaded via IPFS and the link will be inserted in the TokenURI of the metadata
Description: we can insert the description we like most
Traits: it will be possible to insert the attributes that will describe the image, these informations as we have seen are important for the rarity of the collections
Traits Value: additional information on the type of attribute (Yes/No, More, Poor, 30, etc) Once these characteristics are set, the display on the right will show the Metadata in JSON format that will be possible to insert into the Smart Contract written in Solidity.
By clicking on “Upload Metadata to IPFS” it will be possible to upload both the JSON and the chosen file directly to IPFS
and…
...mint the NFT being created by signing it directly with your own Metamask directly on Opensea!

As we have already written, the EIPs (Ethereum Internal Proposals) related to NFTs soon turned into operational standards called ERCs (Ethereum Request for Comments), becoming the protocols of the tokens that follow certain requirements.
These standards are fundamental for interacting with Smart Contracts and giving life to new operational logics in the market, allowing:
The same language for easy integration between various platforms
Interoperability between different chains that are thus able to "read" the same protocols
Below we list the most common standards with a brief description:
ERC-721 Created in January 2018, it allowed the implementation of APIs for smart contracts of NFTs, introducing a whole series of information (events) such as the ownership of the NFT, the address balance, the various approvals, and the TokenURI to have the already mentioned Metadata.
ERC-721R Recently introduced, it is a version of the previous 720 but with features in the smart-contract that enable the user to be refunded for a pre-determined period of time.
ERC-1155 Introduced by the Enjin team, it allows configuring multiple tokens in a single smart contract, saving on gas fees and opening up new functionalities like the possibility of combining non-fungible tokens with fungible tokens
ERC-994 It is an extension of ERC-721 that introduced DNFTs, or Delegated-Non-Fungible-Tokens that find application in physical properties; it aims to solve problems such as geographic space conflict, legal validity, and the physical sovereignty of property, and finally compatibility with financial contracts.
ERC-809 This standard was designed to rent out one's NFTs through an API that allows the rental of any "rival good" that is, any asset whose use by one user is not simultaneously possible by another.
ERC-1201 Similarly to ERC-809, the ERC-1201 standard proposes to tokenize rental rights instead of simply allowing them. In this way, it is possible to sub-rent the asset simply by exchanging the token.
ERC-998 It is a standard that allows transferring both a non-fungible token like ERC-721 or a fungible ERC-20 token: transferring an ERC-998 token means transferring the entire hierarchy of items linked to it. Think of the NFT of a character from a P2E video game that when sold transfers to the new owner all the other items: armor, helmet, weapons, etc.
What happens is that an ERC-998 token is composable with an ERC-721, in a series of extensions that have been specifically specified below:
ERC998ERC721 top-down composables that receive, hold, and transfer ERC721 tokens
ERC998ERC20 top-down composables that receive, hold, and transfer ERC20 tokens
ERC998ERC721 bottom-up composables that link to other ERC721 tokens
ERC998ERC20 bottom-up composables that link to ERC721 tokens but with an ERC-20 token
We have seen how the primary characteristic of NFTs lies in the static nature of their data, which makes their content unique and immutable, opening up contexts and markets that we have extensively discussed. Although such characteristics represent a strength in the digital world for having created "scarcity" and "uniqueness" where there was none, they could represent a limit for anyone wanting to mint NFTs and make them mutable over time rather than immutable, suggesting new operational logics.
While it is true that changing the URI linked to the IPFS link within the metadata of an NFT can indeed change the visual appearance of the NFT (and that this is already possible with standards like ERC-721), it is equally true that such a change would be at the discretion of developers only, who could thus change the traits at will, invalidating the trustless characteristic that a decentralized system aims at. A protocol is therefore needed that maintains the trustless characteristic but makes the data within the NFT mutable.
GameFi, for example, requires very high interactivity; here, NFTs prevent the improvement of weapons, characters, or objects, for example, binding the player to the minting of the same and their re-selling in the secondary market. But if we wanted to progress in the game along with our items, perhaps reselling what we have carefully improved during the game, we would be unable to do so: this is where dNFTs, or dynamic NFTs, come into play.
dNFTs introduce the dynamic mutability of metadata based on conditions external to it by changing the code contained in the smart contract and implementing automatic changes regarding the changes to be applied to the metadata and when to make them happen. Such
external conditions can be provided by Oracles, third-party feeders, that connect the blockchain to external systems, providing new information and allowing dynamic NFTs to constantly change. Among the most famous, we mention Chainlink.

The succession of implementations related to NFTs has churned out hundreds of EIPs and ERCs in recent years, introducing innovative use cases. This progress knows no stagnation, projecting itself frenetically towards IRL (In Real Life) and the Phygital, trying to establish itself in the real world by overcoming current limits using the technology we have discussed. It is hard to believe that such technology will remain confined to the digitization of artworks or gaming, but will indeed find fertile ground in applications and services not yet fully explored.
Innovation and the progress of NFTs will probably overwhelm several markets, legitimizing the potentials of web3: connecting digital creators and users without the need for other intermediaries is what the new internet sets as its goal.
NFTs will allow in the future to create and build new forms of ownership, but this entails both rights and duties.
“Property is the pivot of civilization” -- Leon Samson
WRITTEN BY: Danilo Giudice and Sebastiano Cataudo with the experience of YOMI.
It's undeniable that NFTs have contributed to legitimizing blockchain and cryptocurrencies in the mainstream world, attracting an entirely new audience that primarily sees NFTs and digital art as a great opportunity to get rich. This is why I actually think that this, at present, is absolute digital garbage, as are the metaverses: spectacles of speculation devoid of any concrete use cases or aspirations. But my subjective opinion is debatable to those who loudly demand bored monkeys or, worse still, to pollute Bitcoin's mempool with vulgar ordinals. If you've gotten this far without telling me off, here's some concrete stuff on the NFT phenomenon, below.
More and more users have become interested in non-fungible tokens, rapidly growing a market still unexplored to impressive performances. In the near future, NFTs will change the way we create, consume, and distribute digital content, opening up new, never-before-seen use cases; for these reasons, understanding the standards underlying this phenomenon helps us also understand the technology and usability of each NFT and the various blockchain protocols involved.
Thanks to blockchain, we have been able to make a digital object unique for the first time in history, allowing us to buy and own files, resources, and digital properties. These properties, presented in the form of a digital token, can be exchanged and sold just like any other asset. Non-fungible tokens are unique tokens that are distinguishable from other tokens and, most importantly, cannot be divided or fractionated, distinguishing them from all other tokens.
NFTs thus mark an evolution of blockchain-based assets, providing users with a digital token different from cryptocurrencies that grants ownership of an indivisible and non-duplicable digital object.
Since the debut of CryptoKitties in 2017, which severely tested Ethereum's network, the NFT market has grown immensely, setting new records not only in growth but also in sales and volumes, even making its way into the world's most important auction houses.

Many of us are part of an emerging technology that could change the future of finance and our surroundings: setting rules and adhering to them is the basis for standardization aimed at designing new paradigms.

Monetized Graphic, the first NFT. Ethereum is the primary blockchain for creating (minting), storing, and exchanging NFTs; it's here that the first NFT was born, at a conference among technology and art enthusiasts, Kevin McCoy and Anil Dash made the first transaction of a digital image on blockchain, it was 2014 and they were unaware that non-fungible tokens would explode dramatically within a few years, bringing projects like CryptoPunks and BAYC into the mainstream media, breaking any sales record for digital art: In March 2021, a piece of art called Everydays: The First 5000 Days was sold for 69 million dollars at Christie’s Auction House.


In this article, we will see what an NFT is made of, its token standards, and how to upload it online.
An NFT is composed of 3 objects:
Token Identifier (or ID)
Token Owner
Metadata associated with the token

The ID is simply a numerical representation associated with the NFT and its owner, making it distinguishable from others; the Owner is the address associated with the owner's wallet, and finally, the Metadata, the true content of our non-fungible tokens.
Storing data within a Blockchain is a very costly practice: block size, mempool size, and transaction costs make it a poorly suited medium, on Ethereum, for example, there isn't enough space on the block to store an image (unless in the form of a small SVG, in vector graphics). The massive storage of images, videos, gifs, or any other digital media must therefore be saved elsewhere online, which is why technologies like IPFS or Arwave and services dedicated to them play a key role in decentralized storage; this is why it was decided to include only the NFT-related data in the Blockchain and not the NFT itself, thus saving a lot of space and safeguarding costs. But what exactly are these metadata made of?
A metadata is essentially a JSON file that contains:
Description
Link to digital media (gif, jpeg, ...)
Features (traits, attributes, ...) ...

ERC stands for Ethereum Request (for) Comments, it outlines the set of rules and instructions that developers must follow to implement all new functionalities. ERCs are essentially EIPs (Ethereum Internal Proposals) with aspirations mainly dedicated to decentralized applications.
As can be seen from the image released by OpenSea, a well-known NFT marketplace, the smart contract, in this case based on ERC-721, contains the Owner's address and the TokenURI, a special option that contains the "location" where the Metadata containing the NFT's features, including an external HTTP URL or on IPFS or ArWave, reside. More information on Metadata: https://docs.opensea.io/docs/metadata-standards
To better understand how they appear, here are the Metadata of the famous Meebits by LarvaLabs:
{
“name”: “Meebit #12347”,
“description”: “Meebit #12347”,
“image”: “http://meebits.larvalabs.com/meebitimages/characterimage?index=12347&type=full&imageType=jpg",
“attributes”: [
{ “trait_type”: “Type”, “value”: “Human” },
{ “trait_type”: “Hair Style”, “value”: “Ponytail” },
{ “trait_type”: “Hair Color”, “value”: “Dark” },
{ “trait_type”: “Glasses”, “value”: “Aviators” },
{ “trait_type”: “Shirt”, “value”: “Tube Top” },
{ “trait_type”: “Shirt Color”, “value”: “Green” },
{ “trait_type”: “Pants”, “value”: “Leggings” },
{ “trait_type”: “Pants Color”, “value”: “Blue Camo” },
{ “trait_type”: “Shoes”, “value”: “Canvas” },
{ “trait_type”: “Shoes Color”, “value”: “Gray” }
]
}
The idea behind Metadata is to find a solution to describe the features of NFTs even to a non-specialized audience like artists and not just developers, who can adhere to a set of instructions to create their collection; what an artist needs are:
Create their own collection or NFT individually (images, gifs, videos)
Upload the media online (AWS, cloud, IPFS, ...) and obtain a URL associated with each of them that will then be inserted in the Metadata
Generate a unique JSON file for each media containing the metadata as shown in the standard above (image URL, attributes/traits, name, etc.)
Upload all the JSON files to the desired online support (AWS, cloud, IPFS, ...) and obtain a URL associated with each of these JSON files.
Since centralized services like AWS or similar Cloud services suffer from two issues related to the goal we want to achieve:
Centralization: if the server is hacked or goes down even temporarily, our file will be lost with it or become inaccessible.
Location Based: this type of server indexes files by name, which means that if we uploaded two different files with the same name (three.png) by overwriting them we would have a different aspect from the previous one, which is precisely what we want to avoid in the NFT context by giving uniqueness to the digital object.
The IPFS system (Interplanetary File System) solves this issue by returning us a CID (Content Identifier) as a product of this procedure, which will not only be our IPFS address but will depend on the content of its metadata: if these were to change, the URL would change with it, thus returning completely different files: in the system adopted by IPFS it is in fact impossible to return two different images from the same URL.
Furthermore, the IPFS system is a decentralized mechanism that allows files to be distributed on the network without having a specific server, making the data highly resilient to problems that a centralized system like AWS or similar encounters.
Although all this may seem complex, for the more tech-savvy it is possible to experiment with the repository provided by YOMI for the generation of Smart Contracts for NFT deployment: https://github.com/yomi-digital/nft-contract.

Thanks to YOMI, we created a tool to allow the reader to dabble in creating Metadata on the ERC-721 standard; at the link https://yomi-digital.github.io/nft-ui/#/ it will be possible to:
Upload: we will be able to upload the file that we want to make into an NFT: it will be uploaded via IPFS and the link will be inserted in the TokenURI of the metadata
Description: we can insert the description we like most
Traits: it will be possible to insert the attributes that will describe the image, these informations as we have seen are important for the rarity of the collections
Traits Value: additional information on the type of attribute (Yes/No, More, Poor, 30, etc) Once these characteristics are set, the display on the right will show the Metadata in JSON format that will be possible to insert into the Smart Contract written in Solidity.
By clicking on “Upload Metadata to IPFS” it will be possible to upload both the JSON and the chosen file directly to IPFS
and…
...mint the NFT being created by signing it directly with your own Metamask directly on Opensea!

As we have already written, the EIPs (Ethereum Internal Proposals) related to NFTs soon turned into operational standards called ERCs (Ethereum Request for Comments), becoming the protocols of the tokens that follow certain requirements.
These standards are fundamental for interacting with Smart Contracts and giving life to new operational logics in the market, allowing:
The same language for easy integration between various platforms
Interoperability between different chains that are thus able to "read" the same protocols
Below we list the most common standards with a brief description:
ERC-721 Created in January 2018, it allowed the implementation of APIs for smart contracts of NFTs, introducing a whole series of information (events) such as the ownership of the NFT, the address balance, the various approvals, and the TokenURI to have the already mentioned Metadata.
ERC-721R Recently introduced, it is a version of the previous 720 but with features in the smart-contract that enable the user to be refunded for a pre-determined period of time.
ERC-1155 Introduced by the Enjin team, it allows configuring multiple tokens in a single smart contract, saving on gas fees and opening up new functionalities like the possibility of combining non-fungible tokens with fungible tokens
ERC-994 It is an extension of ERC-721 that introduced DNFTs, or Delegated-Non-Fungible-Tokens that find application in physical properties; it aims to solve problems such as geographic space conflict, legal validity, and the physical sovereignty of property, and finally compatibility with financial contracts.
ERC-809 This standard was designed to rent out one's NFTs through an API that allows the rental of any "rival good" that is, any asset whose use by one user is not simultaneously possible by another.
ERC-1201 Similarly to ERC-809, the ERC-1201 standard proposes to tokenize rental rights instead of simply allowing them. In this way, it is possible to sub-rent the asset simply by exchanging the token.
ERC-998 It is a standard that allows transferring both a non-fungible token like ERC-721 or a fungible ERC-20 token: transferring an ERC-998 token means transferring the entire hierarchy of items linked to it. Think of the NFT of a character from a P2E video game that when sold transfers to the new owner all the other items: armor, helmet, weapons, etc.
What happens is that an ERC-998 token is composable with an ERC-721, in a series of extensions that have been specifically specified below:
ERC998ERC721 top-down composables that receive, hold, and transfer ERC721 tokens
ERC998ERC20 top-down composables that receive, hold, and transfer ERC20 tokens
ERC998ERC721 bottom-up composables that link to other ERC721 tokens
ERC998ERC20 bottom-up composables that link to ERC721 tokens but with an ERC-20 token
We have seen how the primary characteristic of NFTs lies in the static nature of their data, which makes their content unique and immutable, opening up contexts and markets that we have extensively discussed. Although such characteristics represent a strength in the digital world for having created "scarcity" and "uniqueness" where there was none, they could represent a limit for anyone wanting to mint NFTs and make them mutable over time rather than immutable, suggesting new operational logics.
While it is true that changing the URI linked to the IPFS link within the metadata of an NFT can indeed change the visual appearance of the NFT (and that this is already possible with standards like ERC-721), it is equally true that such a change would be at the discretion of developers only, who could thus change the traits at will, invalidating the trustless characteristic that a decentralized system aims at. A protocol is therefore needed that maintains the trustless characteristic but makes the data within the NFT mutable.
GameFi, for example, requires very high interactivity; here, NFTs prevent the improvement of weapons, characters, or objects, for example, binding the player to the minting of the same and their re-selling in the secondary market. But if we wanted to progress in the game along with our items, perhaps reselling what we have carefully improved during the game, we would be unable to do so: this is where dNFTs, or dynamic NFTs, come into play.
dNFTs introduce the dynamic mutability of metadata based on conditions external to it by changing the code contained in the smart contract and implementing automatic changes regarding the changes to be applied to the metadata and when to make them happen. Such
external conditions can be provided by Oracles, third-party feeders, that connect the blockchain to external systems, providing new information and allowing dynamic NFTs to constantly change. Among the most famous, we mention Chainlink.

The succession of implementations related to NFTs has churned out hundreds of EIPs and ERCs in recent years, introducing innovative use cases. This progress knows no stagnation, projecting itself frenetically towards IRL (In Real Life) and the Phygital, trying to establish itself in the real world by overcoming current limits using the technology we have discussed. It is hard to believe that such technology will remain confined to the digitization of artworks or gaming, but will indeed find fertile ground in applications and services not yet fully explored.
Innovation and the progress of NFTs will probably overwhelm several markets, legitimizing the potentials of web3: connecting digital creators and users without the need for other intermediaries is what the new internet sets as its goal.
NFTs will allow in the future to create and build new forms of ownership, but this entails both rights and duties.
“Property is the pivot of civilization” -- Leon Samson
WRITTEN BY: Danilo Giudice and Sebastiano Cataudo with the experience of YOMI.
No activity yet