Skip to main content
Top

2017 | Book

Introducing Ethereum and Solidity

Foundations of Cryptocurrency and Blockchain Programming for Beginners

insite
SEARCH

About this book

Learn how to use Solidity and the Ethereum project – second only to Bitcoin in market capitalization. Blockchain protocols are taking the world by storm, and the Ethereum project, with its Turing-complete scripting language Solidity, has rapidly become a front-runner. This book presents the blockchain phenomenon in context; then situates Ethereum in a world pioneered by Bitcoin.

See why professionals and non-professionals alike are honing their skills in smart contract patterns and distributed application development. You'll review the fundamentals of programming and networking, alongside its introduction to the new discipline of crypto-economics. You'll then deploy smart contracts of your own, and learn how they can serve as a back-end for JavaScript and HTML applications on the Web.

Many Solidity tutorials out there today have the same flaw: they are written for“advanced” JavaScript developers who want to transfer their skills to a blockchain environment. Introducing Ethereum and Solidity is accessible to technology professionals and enthusiasts of “all levels.” You’ll find exciting sample code that can move forward real world assets in both the academic and the corporate arenas. Find out now why this book is a powerful gateway for creative technologists of all types, from concept to deployment.

What You’ll LearnSee how Ethereum (and other cryptocurrencies) work

Compare distributed apps (dapps) to web apps

Rrite Ethereum smart contracts in Solidity language

Connect Ethereum smart contracts to your HTML/CSS/JavaScript web applications

Deploy your own dapp, coin, and blockchain

Work with basic and intermediate smart contracts

Who This Book Is For

Anyone who is curious about Ethereum or has some familiarity with computer science Product managers, CTOs, and experienced JavaScript programmers

Experts will find the advanced sample projects in this book rewarding because of the power of Solidity

Table of Contents

Frontmatter
Chapter 1. Bridging the Blockchain Knowledge Gap
Abstract
Many of civilization’s most nagging imperfections could become the domain of blockchain’s killer apps. For developers, designers, and product managers, there’s no better time to begin prototyping applications for the Ethereum network.
Chris Dannen
Chapter 2. The Mist Browser
In the realm of cryptocurrency software, there are generally two essential types of client applications: wallets and full nodes
Abstract
Wallet usually denotes a lightweight node that connects to a blockchain to perform basic functions, such as sending and receiving cryptocurrency. Full nodes are command-line interfaces that can perform the full gamut of operations allowed by the network
Chris Dannen
Chapter 3. The EVM
The Ethereum Virtual Machine (EVM) is a worldwide computer that anyone can use, for a small fee, payable in ether
Abstract
The EVM is a single, global 256-bit “computer” in which all transactions are local on each node of the network, and executed in relative synchrony. It’s a globally accessible computer, composed of lots of smaller computers.
Chris Dannen
Chapter 4. Solidity Programming
Abstract
Imagine you’re on a beach in another country. You took a trip here on a whim and breezed past the currency exchange booth in the airport, figuring you could use your credit or debit card while visiting—no need for cash. In your rush, you forgot to bring sunglasses. A vendor walking along the beach has a pair that happen to be your style. In fact, they’re better than the pairs you remember passing in the duty-free area of the airport. Alas, he doesn’t have a credit card reader—just his Android phone—and you don’t have any local currency. He gives you a little card with an e-mail address and a phone number, in case you’d like to buy the glasses later.
Chris Dannen
Chapter 5. Smart Contracts and Tokens
Small reusable code templates (in programming terms, classes) written in Solidity are called smart contracts, a nod to financial contracts. You can think of smart contracts as being suited to creating financial derivatives as a web service—with a few twists
Abstract
In the preceding chapter, you learned how to use Solidity to create instructions for the Ethereum Virtual Machine. However, you stopped short of uploading your program to the EVM, a process known generally in computer application development as deployment. This chapter presents the process by which you can deploy your Solidity scripts to the EVM, making them available as a real product or service.
Chris Dannen
Chapter 6. Mining Ether
Mining is the process by which the Ethereum network reaches consensus about the order of transactions in a given period of time, which in turn allows the EVM to make valid state transitions
Abstract
Mining is important as the process by which consensus is reached in the system, and by which ether is created. Bitcoin also uses mining to reach consensus, but the way things work in Ethereum is a little bit different, owing to its ability to execute smart contracts.
Chris Dannen
Chapter 7. Cryptoeconomics Survey
Cryptoeconomics definition The study of economic activity conducted across secure computer networks is known as cryptoeconomics
Abstract
Let’s take a break from mining and deployment and talk about some of the design choices that went into Ethereum: specifically, those around its system of economic incentives and disincentives.
Chris Dannen
Chapter 8. Dapp Deployment
As you’ll see, deploying dapps is an adventure in the frontier of a new computing paradigm
Abstract
Dapps are composed of smart contracts that, as noted at several junctures in this book, are executed by all nodes on the Ethereum network at approximately the same time.
Chris Dannen
Chapter 9. Creating Private Chains
Contrary to what public-chain enthusiasts argue, private chains do have merit as learning tools, and may ultimately have uses for large corporations, nation-states, or nongovernmental organizations (NGOs). However, it should be said that blockchains are not inherently better for all databases and networks
Abstract
In the last few chapters, we’ve focused on deploying smart contracts, dapps, and tokens. In this chapter, we’ll engage in a brief discussion of blockchains as databases to more thoroughly understand how the chains themselves are deployed.
Chris Dannen
Chapter 10. Use Cases
Proof of work, decentralization, Merkle and Patricia trees, asymmetric cryptography, smart contracts … What can you make with such ingredients?
Abstract
Whether Ethereum is useful, and indeed groundbreaking, is best evaluated in the same terms as other network protocols.
Chris Dannen
Chapter 11. Advanced Concepts
Where the Ethereum Protocol is going, and where it came from
Abstract
A book introducing Ethereum and Solidity would not be complete without mention of the nascent cult of personality forming around Vitalik Buterin, the inventor of Ethereum and a collaborator on a handful of other high-profile blockchain projects.
Chris Dannen
Backmatter
Metadata
Title
Introducing Ethereum and Solidity
Author
Chris Dannen
Copyright Year
2017
Publisher
Apress
Electronic ISBN
978-1-4842-2535-6
Print ISBN
978-1-4842-2534-9
DOI
https://doi.org/10.1007/978-1-4842-2535-6

Premium Partner