Tokens, Bitcoin & How It Fits TogethersteemCreated with Sketch.

in blockchain •  2 years ago 

Non-fungible tokens (NFTs) are a special type of digital token that is unique and non-divisible. Each NFT has its own characteristics and attributes, making it unlike any other NFT. This article goes over some of the finer aspects of NFT, as well as the role that Tokens have in the Blockchain. It explains what non-fungible tokens are, how to think about them from a programmer’s perspective, and how they compare to standard ERC721 tokens.

  You will also learn what metadata is and why it’s important for keeping track of various token entities, how to use Solidity to write your own contract with an NFT implementation, and what the ECEND256 hash function is and how it comes in handy when creating your own NFT contracts; And finally, how to implement these principles in practice. 

Use this article as an overview of what all goes into creating an NFT or a token on the blockchain, and check out other posts regarding step by step instructions on physically creating an NFT on a marketplace.

What are Non-Fungible Tokens?
Non-fungible tokens (NFTs) are a special type of digital token that is unique and non-divisible. Each NFT has its own characteristics and attributes, making it unlike any other token. This means that two tokens of the same type cannot necessarily be swapped or interchanged, because they are not identical. NFTs are often used to represent ownership of a single asset. For example, you can use it to represent a virtual painting, a virtual real estate, or a virtual car. This is opposed to fungible assets, which are interchangeable and can be used in the place of any other unit of the same type. A good example of a fungible asset is money. You can use $10, $20 or $1,000 in place of each other because they are all the same.

Why Create an NFT?
NFTs are useful when you want to represent ownership over a unique item, like a one-of-a-kind painting. There are many other ways to use NFTs, like to create a decentralized game, a decentralized application, or to tokenize a physical asset. There are many other use cases outside of the art world where NFTs can be used. For example, you could use NFTs to represent a tokenized stock, or a tokenized real estate. You could even use it to represent an ID card or a driver’s license, where each ID is unique and specific to the owner.

Creating a Non-Fungible Asset with an NFT Contract
A non-fungible (specific) asset is one that cannot be interchanged with another asset of the same type. For example, a Picasso painting is non-fungible. One particular Picasso cannot be exchanged for another. You can, however, exchange a non-fungible asset for another non-fungible asset.

  For fungible assets, you can exchange one asset for another of the same type, and they can be used interchangeably. For example, a gallon of gas is fungible. You can exchange one gallon of gas for another and they are all of the same type. You can drive one gallon of gas from one place to another, and it is still a gallon of gas.



   Now, what happens if you have a non-fungible asset that you can exchange for another non-fungible asset? This is where you have created an NFT asset. NFT stands for non-fungible token. In the blockchain world, NFT is the equivalent of non-fungible assets in the real world.et’s look at how you can create a fungible asset with an NFT contract.

  First, you will need to decide what asset you want to represent. It might be a physical asset, like a car, or a digital asset, like a top-five list on a website. NFTs can’t be sold, only transferred between addresses, so you will need to select an asset that can be transferred between addresses. You will also need to select a consensus model. If your asset is physical, like a car, then you will need to select a consensus model that allows people to transfer the asset between addresses.

   The most common consensus models are PoS and PoW. PoS is more efficient and requires less electricity, but PoW provides greater security. Fungible assets are assets that can be substituted for any other unit of the same type. A good example of a fungible asset is money. You can use $10, $20 or $1,000 in place of each other because they are of the same type. You can also use a fungible asset to represent ownership over a physical object, such as a car or a house. Since fungible assets are interchangeable, you need to keep track of ownership of each token separately.

   Tokens can be owned by different individuals and transferred from one person to another. A token contract can keep track of all the token owners and their ownership over the token.

How to Think About an NFT Contract
The Solidity programming language can be used to create a special type of contract called an NFT contract. A token contract can be used to keep track of ownership of fungible assets, like money or stocks. The Solidity programming language makes it easy to create a NFT contract that tracks ownership over fungible assets. For example, you could create a NFT that represents a physical piece of art or a single share of a company’s stock. You can also create non-fungible assets like property deeds or car titles. These non-fungible assets can be traded over the blockchain and securely tracked thanks to the NFT contract. The NFT contract tracks each transaction and updates the asset’s owner on the blockchain. You can put all the functionality needed to keep track of ownership into a single contract. This helps you avoid writing multiple contracts that are supposed to work together.

Smart Contracts and the Blockchain
You probably have heard about smart contracts, but what are they? A smart contract is a computer program that runs on the blockchain network. It’s a concept that has gained popularity since it was invented in 1994 by famous cryptographer Nick Szabo. The idea is that a computer program can be used to execute the terms of a contract, rather than having to rely on the authority of a third party, such as a lawyer, to enforce the terms of the contract. A blockchain, like Ethereum, is a distributed ledger that keeps track of all transactions and the execution of smart contracts. A blockchain records each transaction in a digital ledger that’s distributed across many computers. These computers continually check each other's work to ensure that the ledger remains accurate and updated.

What is Solidity and why do you need it?
Solidity is a programming language that is used to create Ethereum smart contracts. You will use Solidity to create your own token contract, which you can use to represent ownership over a fungible asset. A token contract is an essential part of every NFT system, because it keeps track of ownership and manages the transfer of tokens between parties. You will use Solidity to write the code for your token contract, but you don’t need to be a software engineer to understand the code.

   Solidity is similar to JavaScript, so anyone who knows JavaScript can pick up Solidity fairly quickly. There are lots of tutorials and guides available online that will walk you through the process of creating your own ERC20 token. Once your token is up and running, you will be able to send and receive tokens just like you would with any other cryptocurrency. The best way to learn how to create your own ERC20 token is to sign up for an online course or read a book about Solidity. There are lots of online courses available, but they all teach the same thing. The key thing to remember is that you don’t need to be a software engineer to create your own ERC20 token; anyone can do it with a little bit of guidance.

ECEND256 and how it comes in handy while writing NFT contracts
Let’s take a look at how ECEND256 works. We know that a hash function takes an input of any length and creates an output of a fixed length. ECEND256 takes a string of any length, such as a name or text, and creates an output of 256 bits. This means that the output will be 32 characters long, where each character represents a certain number in the 256-bit sequence. You can use this function to find the hash of a string, such as a name or a text, and store it in a blockchain. You can also take the hash of a string and search the blockchain to find where it’s stored. This is useful for things like digital certificates, proof of existence, and copyright protection. When you store something on the blockchain, it’s there forever. It’s like a fingerprint that can’t be changed or deleted.

Summary
A non-fungible token or NFT is a special type of digital token that is unique and non-divisible. Each NFT has its own characteristics and attributes, making it unlike any other token. NFTs are often used to represent ownership of a single asset. They are opposed to fungible assets, which are interchangeable and can be used in place of any other unit of the same type. When you want to create an NFT, you’ll write a Solidity contract. You can put all the functionality needed to keep track of ownership into a single contract, making it easier to avoid writing multiple contracts that are supposed to work together. Smart contracts are computer programs that run on the blockchain network. A blockchain is a distributed ledger that keeps track of all transactions and the execution of smart contracts.

    It is a continuously growing list of records, called blocks, which are linked together and secured with cryptography. It is a decentralized network that enables the creation of trust between parties through consensus. The best example of a blockchain is the one that powers Bitcoin. In Bitcoin, people who want to participate in the exchange of money must log in to the blockchain and send their funds to a public address. The public address is like a routing number for your account. Once you have sent the money to this public address, it cannot be withdrawn by anyone else. Once the money arrives at the destination, it is grouped with other transactions and processed as one unit.
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!