Advanced Blockchain Technologies : A Comprehensive Textbook on Ethereum Smart Contracts to Decentralised Applications

Asharaf S, Sivadas Neelima, Sumi Maria Abraham, Adarsh S
  • ISBN: 9789363863972
  • 420 pages

Description

It is a comprehensive guide designed to educate readers on Ethereum, a groundbreaking blockchain platform introduced through Vitalik Buterin's influential whitepaper. This sequel to the successful "Blockchain Technology: Algorithms and Applications" delves into Ethereum's innovative incorporation of programmability, which extends blockchain's capabilities beyond mere financial transactions to include Decentralised Applications (DApps).

 

The book meticulously covers foundational concepts, starting with Ethereum's evolution from Proof of Work to Proof of Stake, and includes exercises for readers to reinforce their understanding. It explores Ethereum's architecture, including the Ethereum Virtual Machine, Gas, ether (ETH), and transaction lifecycle, while emphasising smart contracts and their unique applications. Essential tools for users and developers are detailed, alongside extensive coverage of Solidity, the programming language for smart contracts.

 

Later chapters guide readers through token standards, network interactions, and the process of building DApps. Advanced topics such as smart contract upgrades, DAO, oracles, and Ethereum's major updates are also discussed. This book is crafted to be a reliable reference, keeping pace with technological advancements, and is poised to be embraced by readers with enthusiasm.

 

About the Author

 

Dr. Asharaf S. is a distinguished computer scientist with extensive expertise in AI-related algorithms. He received his Ph.D. and Master of Engineering degrees in Computer Science from the Indian Institute of Science, Bangalore. Post- Ph.D., he worked as a Research Scientist at America Online (AOL) R&D Labs and later served as a faculty member at the Indian Institute of Management Kozhikode (IIMK). Currently, he is the Dean (Academics) and Professor at Digital University Kerala, while also serving as a visiting faculty for MDP programs at IIMK.

 

Dr. Asharaf was the founding professor-in-charge of Maker Village Cochin  and now serves as the founding director of Kerala Blockchain Academy.

 

Sivadas Neelima is a Research and Development Engineer at Kerala Blockchain Academy (KBA), a Centre of Excellence of Digital University Kerala. She holds a Master’s degree in Biomedical Engineering and Post Graduate Diploma in Intellectual Property, Rights, and Law. She began her journey at KBA as an intern through the prestigious Blockchain Excellency Programme. Her key contributions include writing blog articles on blockchain, serving as a content reviewer for the renowned Ethereum Developer Program, and hosting podcasts.  She is also a DLT Talent graduate, having completed an 18-week mentored program from the Frankfurt School of Blockchain Center. Before joining KBA, she worked as a Junior Research Fellow for a DST (Department of Science and Technology, India) project and later as a Project Manager for the British Council project.  Her diverse interests span blockchain, project management, intellectual property rights and law, and public policies.

 

Sumi Maria Abraham is a Research and Development Engineer at Kerala Blockchain Academy (KBA), a Centre of Excellence of Digital University Kerala. She holds an M.Tech in Computer Science and has contributed a key role in content development for KBA’s Ethereum Developer Program and the Certified Ethereum Network Administrator Course. She has authored several blockchain articles for KBA’s social media channels. Before Joining KBA, she worked as an Assistant Professor at Lourdes Matha College of Science and Technology, affiliated with APJ Abdul Kalam Technological University, Thiruvananthapuram, Kerala, and as a Software Developer at UST. Her areas of interest include blockchain technology, Ethereum, Data Structures, and the Theory of Computation.

 

Dr. Adarsh S is a Postdoctoral Researcher at the School of Business, National University of Ireland, Maynooth. He previously served as a Senior Scientist and Convener of Kerala Blockchain Academy.  He earned his Ph.D. from Cochin University of Science and Technology and was part of the Agrochain team, which won the Profer International Blockchain Hackathon (2017) and received the NITI Aayog prize for Golden Ticket Entry to the Global Entrepreneurship Summit (2017).  Dr. Adarsh is also a technical representative of the Hyperledger Foundation and a recipient of the Junior Research Fellowship in Engineering Sciences (2014) from the Kerala State Council for Science, Technology & Environment (KSCSTE). Before pursuing his Ph.D, he worked as an Assistant Professor at Sree Buddha College of Engineering under Kerala University. His interests include blockchain and smart contracts, machine learning, and bio-inspired computing.

 

Table of Contents

Preface

About the Authors

Acknowledgement

 

1 Ethereum: The Pioneer Programmable Blockchain 1

1.1 Introduction

1.2 How is Ethereum Different from Bitcoin?

1.3 The Birth of Ethereum

1.4 Philosophy of Ethereum Foundation

1.5 Ethereum PoS and Beyond

1.6 The Serenity Upgrade

2 Basics of Ethereum 11

2.1 The Concept of Ethereum World Computer

2.2 Ethereum Virtual Machine

2.3 Gas and Ether – The Fulcrum of Ethereum Transactions

2.4 Accounts in Ethereum

2.5 PoS – The Consensus Mechanism of Ethereum

2.6 Block in Ethereum

2.7 Transaction Structure

2.8 Record Keeping Model of Ethereum

2.9 Transaction Lifecycle

3 Smart Contracts – The Fulcrum of Ethereum 39

3.1 Introduction

3.2 Background

3.3 Defining a Smart Contract

3.4 A Typical Smart Contract

3.5 Popular Use Cases of Smart Contracts

4 Development Environment of Ethereum

4.1 Introduction

4.2 User Essential Tools and Frameworks

4.3 Developer Essentials

4.4 Hardhat

5 Solidity – Realising Smart Contracts

5.1 Introduction

5.2 Structure of a Smart Contract

5.3 Variables in Solidity

5.4 Access Specifiers for State Variables

5.5 Data Locations in Solidity

5.6 Data Types in Solidity

5.7 Operators in Solidity

5.8 Other Qualifiers for Variables

5.9 Functions

5.10 Control Structures

5.11 Reference Data Types

6 Solidity – Advanced Concepts 123

6.1 Introduction

6.2 Error Handling

6.3 Constructor

6.4 Function Modifiers

6.5 Events

6.6 Summating the Concepts – Cryptobank

6.7 Function Overloading

6.8 Iterable Mappings

6.9 Delete

6.10 Fallback and Receive: Special Functions of Solidity

6.11 Inheritance

6.12 Abstract Contract

6.13 Interface

6.14 Libraries

6.15 Contract as a Type

6.16 The this Keyword

6.17 The selfdestruct (Deprecated)

6.18 Low-Level Calls

7 Tokens and Token Standards

7.1 Introduction

7.2 Tokens and Tokenisation

7.3 Tokenomics

7.4 Tracing the History of Tokens

7.5 Classifying Tokens

7.6 How are Utility Tokens Used in ICOs and IEOs?

7.7 Non-Fungible Tokens

7.8 Security Tokens

7.9 Token Standards

7.10 Building Tokens

7.11 The Vivid Use Cases of Token

8 Interacting with Ethereum Network

8.1 Introduction

8.2 Diving into the Public Network of Ethereum

8.3 Nodes and Clients – The Inextricable Links of the Ethereum Network

8.4 Client Diversity

8.5 Configuring an Ethereum Node

8.6 Setting Up Single Node Private Network using QBFT

9 Decentralised Applications

9.1 Introduction

9.2 The Enchanting Features of DApps

9.3 Experimenting with DApp

9.4 Establishing Server-Side Communication

9.5 Setting Up Client-Side Application

10 Enhancing the Experience with Ethereum

10.1 Introduction

10.2 Upgrading Smart Contracts

10.3 Smart Contract Auditing

10.4 Decentralised Autonomous Organisations

10.5 The Decentralised Storage Mechanisms in Ethereum

10.6 Bridges

10.7 Oracles

10.8 Layer-2

10.9 Ethereum Compatible Chains

11 Upgrades in Ethereum

11.1 Introduction

11.2 Need for the Roadmap

11.3 EIPs – The Path to Implementing the Roadmap

11.4 Prime EIPs

11.5 Tracing the Upgrades

11.6 Diving into the Critical Technical Upgrades

 

Appendix

A.1 Merkle Tree

A.2 RLP Encoding for Serialisation

A.3 Elliptic Curve Cryptography (ECC)

A.4 Digital Signature

A.5 Contract Verification in Remix  

A.6 Character Set Supported by Solidity

A.7 Encoding and Decoding in Solidity

A.8 BIP39 Standard

A.9 Solidity Cheatsheet

A.10 Bitcoin Whitepaper-Synopsis

A.11 Ethereum Whitepaper-Synopsis

A.12 Ethereum Yellowpaper Synopsis

Glossary

Bibliography

Answer Keys

Index

 

 

 

 

Contact Us