Advanced Blockchain Technologies : A Comprehensive Textbook on Ethereum Smart Contracts to Decentralised Applications
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.
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