Preface
Quick Glossary
1. What Is Ethereum?
Compared to Bitcoin
Components of a Blockchain
The Birth of Ethereum
Ethereum's Four Stages of Development
Ethereum: A General-Purpose Blockchain
Ethereum's Components
Further Reading
Ethereum and Turing Completeness
Turing Completeness as a \"Feature\"
Implications of Turing Completeness
From General-Purpose Blockchains to Decentralized Applications (DApps)
The Third Age of the Internet
Ethereum's Development Culture
Why Learn Ethereum?
What This Book Will Teach You
2. Ethereum Basics
Ether Currency Units
Choosing an Ethereum Wallet
Control and Responsibility
Getting Started with MetaMask
Creating a Wallet
Switching Networks
Getting Some Test Ether
Sending Ether from MetaMask
Exploring the Transaction History of an Address
Introducing the World Computer
Externally Owned Accounts (EOAs) and Contracts
A Simple Contract: A Test Ether Faucet
Compiling the Faucet Contract
Creating the Contract on the Blockchain
Interacting with the Contract
Viewing the Contract Address in a Block Explorer
Funding the Contract
Withdrawing from Our Contract
Conclusions
3. Ethereum Clients
Ethereum Networks
Should I Run a Full Node?
Full Node Advantages and Disadvantages
Public Testnet Advantages and Disadvantages
Local Blockchain Simulation Advantages and Disadvantages
Running an Ethereum Client
Hardware Requirements for a Full Node
Software Requirements for Building and Running a Client (Node)
Parity
Go-Ethereum (Geth)
The First Synchronization of Ethereum-Based Blockchains
Running Geth or Parity
The JSON-RPC Interface
Remote Ethereum Clients
Mobile (Smartphone) Wallets
Browser Wallets
Conclusions
4. Cryptography
Keys and Addresses
Public Key Cryptography and Cryptocurrency
Private Keys
Generating a Private Key from a Random Number
Public Keys
Elliptic Curve Cryptography Explained
Elliptic Curve Arithmetic Operations
Generating a Public Key
……