First, it was "cloud computing," then "big data," followed by the "internet of things" and "artificial intelligence" - these are all buzzwords from technological paradigm shifts that eventually push the privacy management envelope, & the next buzzword, which is capable of impacting the technology stack of several domains including financial firms, consultants & healthcare providers is "blockchain". However, for many, the blockchain is still a nebulous concept. And even if they understand the “what”, understanding why it should be used and what problems it can solve remains unclear.
A blockchain is, in the simplest of terms, a time-stamped series of immutable records of data that is managed by a cluster of computers not owned by any single entity. Each of these blocks of data (i.e. block) is secured and bound to each other using cryptographic principles (i.e. chain). So, what is so special about it and why are we saying that it has industry-disrupting capabilities?
To understand this, head over to the resources & dive into the world of blockchain technology.
-
Head here to understand the fundamental concepts behind blockchain technology & what makes it so popular
-
A DApp (Decentralized Application) is similar to a traditional Web application, but communicates with a blockchain for data storage & retrieval. Since its inception, Ethereum has provided a large arena for a multitude of DApps to be built on top of it. The smart contract represents the core logic of a decentralized application because the business logic is represented by one or several smart contracts interacting with the underlying blockchain.
With this tutorial, we walk you through the process of setting up your development environment for Ethereum development and creating, testing & deploying your first smart contract on Ethereum.
-
Once you are familiar with basic smart contract development, you can actually use them & build your very own decentralized applications (DApps). This is an article that talks about the essentials of Ethereum DApp Development, including Web3 & the libraries to use Web3, along with a curated list of tutorials to help you understand how to build DApps from scratch.
-
Although we have spoken a lot about Ethereum & development on it, blockchain is certainly not limited to Ethereum. There are tons of other chains out there with hundreds of awesome DApps built on them. Here, we provide you with some resources to understand about different blockchains & also get started with developing on them. We also have some resources for crypto & math enthusiasts about stuff like Zero-Knowledge Proofs.
-
In the DApp Development on Ethereum with Solidity & Web3 tutorial, we shared a tutorial to create a DApp & implement a basic custom ERC721 token. The tutorial only involves minting these crypto-tokens.
This task intends to extend the DApp created in the above tutorial to include the full functionality of an ERC721 NFT (which includes transferring tokens, setting allowances, buring tokens, etc.). For this, you would have to go through the specifications of ERC721 Token Standard.
The UI could should be modified to display the token owner as well with each token & have an interface for transferring these tokens.
Bonus: If you have a fair understaning of both ERC20 & ERC721, you could try and create a custom ERC20 token & bind it to your NFT to create a crypto marketplace for your NFTs. For this, you may need to add additional fields to the basic ERC721 token to include its cost in terms of the ERC20 token. Then, you would have to write a wrapper contract for the marketplace which basically uses the
transfer()
function from both tokens in a single transaction to conduct a transaction. -
In this task, you are supposed to extend the ideas discussed in the ERC20 & IPFS-related tutorial respectively in order to create a platform where a user can upload documents to IPFS, store the hash on the blockchain & share the hash with other users [This may not be done on the platform directly]. Functionality should be there such that a reader can tip the content creator (or person sharing the file) with some ERC20 tokens (or ETH as well) if (s)he finds the content interesting.