Preface
About the Book
About the Author
Objectives
Audience
Approach
Minimum Hardware Requirements
Software Requirements
Installing the Code Bundle
Additional Resources
Conventions
Ethereum Blockchain
Introduction
Introducing the Ethereum Blockchain
The Blockchain Data Structure
Public Key Cryptography
Distributed Ledgers
Consensus Mechanism
Introducing Cryptocurrencies
Introducing Networks and Smart Contracts
Cryptology and Keys
Traditional Codes and Cryptography
New Cryptography
Opening an Ethereum Account
Account Numbers and their Associated Private Keys
Wallets
Exercise 1: Creating a Wallet and Safeguarding its Information
Private Keys and Public Keys
Using your Wallet
Exercise 2: Getting the Toy Ether from the Rinkeby Test Network
The Ethereum Network, Nodes, and Mining
The Ethereum Network
Nodes
Mining
Transactions and Blocks
Transactions and Calls
Calls
Exercise 3: Calling the Ethereum Network
Transactions, Transaction Hashes, and Gas
Blocks and Block Hashes
Confirmations
Sending and Checking Transactions
Sending Transactions
Exercise 4: Sending and Receiving Transactions
Receiving Transactions
Checking Transactions
Summary
Learning Solidity
Introduction
The Solidity Language
Your First Smart Contract
Activity 1: Creating an Ethereum Token
Exercise 5: Using Remix to Compile Our Token
Basic Solidity
Solidity Data Types
Global and Local Variables
Collections
Mappings
Exercise 6: Creating Our Own Collection
Testing Solidity
Exercise 7: Deploying and Testing a Smart Contract
Summary
Solidity Contracts
Introduction
Your First dApp
Architecture of a dApp
Ganache
Exercise 8: Using MetaMask to connect to Ganache
Voting Contract
Compiling and Deploying Contracts
A Simple Web Page
Using an Oracle
Interface
Payment
Calculating Payments
Request Types
Functions and Getters
Summary