Book Image

Learn Ethereum - Second Edition

By : Xun (Brian) Wu, Zhihong Zou, Dongying Song
Book Image

Learn Ethereum - Second Edition

By: Xun (Brian) Wu, Zhihong Zou, Dongying Song

Overview of this book

Ethereum is a blockchain-based, decentralized computing platform that allows you to run smart contracts. With this book, you’ll discover the latest Ethereum tools, frameworks, wallets, and layer 2, along with setting up and running decentralized applications for the complete, end-to-end development experience. Learn Ethereum, 2nd Edition is a comprehensive overview of the Ethereum ecosystem, exploring its concepts, mechanisms, and decentralized application development process. You’ll delve into Ethereum's internals, technologies, and tools, including Ethereum 2.0 and the Ethereum Virtual Machine (EVM), gas, and its account systems. You’ll also explore Ethereum's transition to proof of stake, L1/L2 scaling solutions, DeFi protocols, and the current marketplace. Additionally, you’ll learn about EVM-compatible blockchains, connectivity techniques, and advanced topics such as sharding, off-chain scaling, DAOs, Metaverse, and NFTs. By the end of this book, you’ll be well-equipped to write smart contracts and develop, test, and deploy DApps using various tools, wallets, and frameworks.
Table of Contents (24 chapters)
1
Part 1: Blockchain and Ethereum Basics
7
Part 2:Ethereum Development Fundamentals
11
Part 3: Ethereum Development Fundamentals
15
Part 4:Production and Deployment
20
Part 5:Conclusion

Understanding DApps

A DApp refers to an application that utilizes smart contracts for its operations. These smart contracts are deployed and executed on an Ethereum Virtual Machine (EVM). It is similar to a client-server two-tier architecture, where there is no need for any middlemen to operate. A DApp typically consists of a web-based frontend that interacts with its backend, which is implemented using a smart contract. The frontend makes calls to the backend using the web3.js API.

In order to engage with a smart contract on the blockchain, web3.js commonly interfaces with a wallet. MetaMask is one of the most widely used browser wallets for this purpose. The wallet establishes a connection with a backend blockchain node and submits a request to the blockchain. The following diagram shows a typical DApp architecture and the flow interactions between the frontend and backend:

Figure 10.1 – DApp architecture

Figure 10.1 – DApp architecture

In this chapter, we are going to follow...