Chapter 2. The Ethereum platform

 

Chapter 3 from Exploring Ethereum Dapps by Roberto Infante

This chapter covers

  • Interacting with Ethereum through the Ethereum wallet
  • Understanding the characteristics of Ethereum smart contracts
  • Interacting with Ethereum through the Go Ethereum (geth) client
  • Understanding and managing accounts

The previous chapter introduced Dapps and the underlying concepts and technologies, among which is Ethereum. In this chapter, I’ll cover Ethereum in much greater depth, so you’ll get the foundation you need to develop Dapps on this platform effectively. I’ll begin by presenting the Ethereum wallet, a UI tool you’ll use to start interacting with the Ethereum P2P network by transferring some Ether, the Ethereum cryptocurrency. Then you’ll get a wide overview of smart contracts, the key technology that Ethereum introduced.

After learning about Go Ethereum, one of the many clients available on the platform, and once you understand the purpose of accounts, you’ll move to the next level and start interacting with the Ethereum network through Go Ethereum in several ways: with commands entered into the operating system shell, with instructions entered into the Go Ethereum console, and with HTTP requests. At that point, you should have acquired enough familiarity with the platform to progress with confidence through the rest of the book. It’ll be a dense but rewarding chapter. Let’s get started.

3.1. Connecting to Ethereum through the wallet

3.1.1. Getting started with the Ethereum wallet

3.1.2. Performing common operations with the wallet

3.2. Smart contracts: The brain of Dapps

3.2.1. Accounts

3.2.2. Ether

3.2.3. Gas

3.2.4. Calls and transactions

3.2.5. The Ethereum Virtual Machine

3.3. Connecting to Ethereum with geth

3.3.1. Getting started with geth

3.3.2. A first look at the geth interactive console

3.3.3. A first look at JSON-RPC

3.3.4. Mining with the geth console

3.3.5. Other clients

3.4. Managing accounts with geth

3.4.1. Ethereum accounts

3.4.2. Managing accounts with the geth command

3.4.3. Managing accounts with Web3 on the geth console

3.4.4. Managing accounts with JSON-RPC

3.5. Revisiting SimpleCoin’s contract

3.5.1. Improving SimpleCoin’s contract

3.5.2. Trying out the amended code

3.5.3. How does the coin transfer execute in the Ethereum network?