Programme Code:____ Programme Name: [Link].
(Information Technology
Course Code: 611 [Mandatory] Course Name: Blockchain (Theory)
Total Credits: 04 (60 Lecture Hrs) Total Marks: 100 marks
University assessment: 50 marks College/Department assessment: 50 marks
Pre requisite:
1. knowledge of data structure and cryptography
2. Sound knowledge of one popular language, such as Java or Python
Course Objectives (COs)
To enable the students to:
CO1 : understand the structure of a Blockchain
CO2 : learn the fundamentals of Ethereum and Bitcoin.
CO3 : gain a comprehensive understanding of smart contract and Dapp.
CO4 : learn the concepts of permissioned and public blockchains and NFT.
.
.
MODULE I: (2 CREDITS)
Unit 1: Blockchain Introduction
a. Blockchain – Introduction, History, Centralised versus Decentralised
systems, Layers of blockchain, Importance of blockchain, Blockchain uses and
use cases. 15 Hrs
b. Working of Blockchain – Blockchain foundation, Cryptography, Game [OC1]
Theory, Computer Science Engineering, Properties of blockchain solutions,
blockchain transactions, distributed consensus mechanisms, Blockchain
mechanisms, Scaling blockchain.
Unit 2: Bitcoin and Ethereum
a. A Working of Bitcoin: Money, Bitcoin, Bitcoin blockchain,
bitcoin network, bitcoin scripts, Full Nodes and SVPs, Bitcoin wallets,
Interacting with the Bitcoin Blockchain
b. Ethereum- Ethereum as a Next-Gen Blockchain, Design
Philosophy of Ethereum, Ethereum Blockchain, Ethereum Accounts,
15 Hrs
Advantages of Accounts, Account State, Merkle Patricia Tree, Ethereum
[OC2]
Transaction and Message Structure, Ethereum State Transaction
Function, Gas and Transaction Cost, Ethereum Smart Contracts,
Contract Creation, Ethereum Virtual Machine.
c. Mining Ether: Difficulty, Factors Required for Block
Validation, How Proof of Work Helps Regulate Block Time, Faster
Blocks, How Ethereum Uses Stale Blocks, Forking
MODULE II : (2 CREDITS)
Unit 3: Smart Contract & Dapp
a. Smart Contracts and Solidity:
15 Hrs
Basic of Solidity Programming:- writing loops in solidity, statement and
[OC3]
expressions in solidity, Value types, Global special variables, Units and
Functions
b. Behind Dapp Deployment-Seven Ways to Think About Smart
Contracts, Smart Contract Deployment- EVM as Back End:
Introduction to Truffle, Use of Remix and test networks for
deployment, Dapp deployment.
c. Blockchain Application Development -Decentralized
Applications, , Interacting Programmatically with Ethereum—Sending
Transactions, Creating a Smart Contract, Executing Smart Contract
Functions
Unit 4: Permissioned Blockchain ,Cryptoeconomics & NFT
a. Permissioned Blockchain-, Public vs. Private Blockchains,
Decentralized Application Architecture, Hyperledger concept, Exploring
Hyperledger fabric project, Iroha project
15 Hrs
b. Cryptoeconomics- Why Is Cryptoeconomics useful?, Understanding
[OC 4]
Hashing [Link],Speed of blocks, Ether Issuance scheme,
Common Attack Scenarios
c. NFT- What are NFTs?NFT Marketplaces,Creating and Minting
NFTs,Legal Aspects of NFTs, The Future of NFTS
References:
Sr. Title
Author/s Publisher Edition Year
No.
1. Introducing Ethereum and
Chris Dannen Apress 2017
Solidity
Beginning Blockchain: A
Bikramaditya
Beginner's Guide to
1. Singhal , Gautam
Building Blockchain Apress 2018
Dhameja ,Priyansu Sekhar
Solutions
Panda
1.
Blockchain for dummies Tiana Laurence Wiley 2017
1. The Blockchain Developer Elad Elrom Apress
2019
1. Mastering Ethereum Andreas M. Antonopoulos O’Reilly First 2018
Dr. Gavin Wood
1. The NFT Handbook Matt Fortnow,Terry Wiley 2022
Online References:
1. NPTEL courses:
a. Blockchain and its Applications,
b. Blockchain Architecture Design and Use Cases
2. [Link]/
3. [Link]
4. [Link]
5. [Link]
6. [Link]
7. Blockchain demo: [Link]
[Link]:Public/PrivateKeys&signing:
[Link]
[Link]://[Link]/blockchain-tutorial
10. [Link]
Course Outcomes(OCs)
After completion of the course, a student should be able to:
1. provide conceptual understanding of the function of Blockchain as a method of securing
distributed ledgers, how consensus on their contents is achieved.
2. demonstrate blockchain applications.
3. gain the ability to write and deploy basic smart contracts on the Ethereum blockchain
using Solidity programming language and tools like Truffle and Remix.
4. able to analyze cryptoeconomic design and learn NFT and permissioned blockchains.
Programme Code:____ Programme Name: [Link]. (Information Technology
Course Code:612 [Mandatory] Course Name: Blockchain Practical
Total Credits: 02 (60 Lecture Hrs) Total Marks: 50 marks
University assessment: 25 marks College/Department assessment: 25 marks
Prerequisite:
1. Proficiency in programming languages like Python, JavaScript
2. Familiarizing yourself with Ethereum, its architecture, and the Solidity programming
language
Course Objectives (COs):
To enable the students to:
1. recognize the importance of blockchain in various industries and its potential to
disrupt traditional systems.
2. analyze the structure and functionality of Bitcoin wallets for storing and managing
cryptocurrency.
3. introduce the Ethereum Virtual Machine (EVM) as the backend for executing smart
contracts.
4. explore the permissioned blockchain.
Unit 2
Sr
Practical Description CREDITS
No
(60 hrs)
Blockchain
a Develop a secure messaging application where users can exchange
messages securely using RSA encryption. Implement a mechanism for
generating RSA key pairs and encrypting/decrypting messages.
1 b Allow users to create multiple transactions and display them in an
organised format. OC1
c Create a Python class named Transaction with attributes for sender, (15 hrs)
receiver, and amount. Implement a method within the class to transfer
money from the sender's account to the receiver's account..
d Implement a function to add new blocks to the miner and dump the
blockchain.
2 a Write a python program to demonstrate mining.
b Demonstrate the use of the Bitcoin Core API to interact with a Bitcoin
Core node. OC2
(15 hrs)
c Demonstrating the process of running a blockchain node on your local
machine.
d Demonstrate mining using geth on your private network.
3 a Write a Solidity program that demonstrates various types of functions
including regular functions, view functions, pure functions, and the
fallback function.
b Write a Solidity program that demonstrates function overloading,
mathematical functions, and cryptographic functions.
c Write a Solidity program that demonstrates various features including OC3
contracts, inheritance, constructors, abstract contracts, interfaces. (15 hrs)
d Write a Solidity program that demonstrates use of libraries, assembly,
events, and error handling.
e Build a decentralized application (DApp) using Angular for the front
end and Truffle along with Ganache CLI for the back end.
4 a Install and demonstrate use of hyperledger-Irhoa
OC4
(15 hrs)
b Demonstration on interacting with NFT
Upon completing this course, the student will be able to:
OC1. develop a mechanism for generating RSA key pairs, enabling users to securely
encrypt and decrypt messages.
OC2. explore the architecture and components of the Bitcoin blockchain, including
blocks, transactions.
OC3. demonstrate smart contracts and their deployment in decentralized applications
(DApps).
OC4. evaluate the security and privacy challenges in blockchain systems.