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

Setting up an Ethereum environment

To start with Web3 development, you will need to install the Ethereum development environment. Throughout this book, we will discuss various popular development environments. In this section, we will install the Geth Ethereum private node.

Geth (short for Go-Ethereum) is the most popular Ethereum client, implemented in the Go programming language. Geth is maintained by core Ethereum Foundation developers and other contributors and provides Ethereum developers and users with a fast, reliable, and secure platform for running DApps and node operations on the network. In addition, Geth provides a command-line interface (CLI) that allows the client to interact with the Ethereum network and an HTTP and WebSocket-based JSON-RPC API. In the following subsections, we will learn about the Web3 API through a local Geth node and the Goerli testnet.

In the upcoming section, we will be focusing on the installation of Geth, the Go implementation of the Ethereum...