Skip to content

Latest commit

 

History

History
76 lines (54 loc) · 7.96 KB

README.md

File metadata and controls

76 lines (54 loc) · 7.96 KB

Week 8 | Blockchain

Introduction

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.

Resources

Tasks

  1. Full-Fledged NFT

    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.

  2. Incentivized Content Sharing Platform (Minimalistic Version)

    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.