- Create powerful, end-to-end applications for Blockchain using Ethereum
- Write your first program using the Solidity programming language
- Change the way you think and design your applications by using the all new database-Blockchain
Blockchain is a distributed database that maintains a continuously growing list of data records secured from tampering and revision. Every user is allowed to connect to the network, send new transactions to it, verify transactions, and create new blocks, making it permission-less.
This book will teach you what Blockchain is, how it maintains data integrity, and how to create real-world Blockchain projects using Ethereum. With interesting real-world projects, you will know about bitcoin, generating smart and secure contracts with Ethereum, building end-to-end applications for Blockchain.
You will learn concepts such as cryptography in cryptocurrencies, ether security, mining , smart contracts, solidity, and more. You will also learn about web sockets, various API services for Ethereum, and much more.
The blockchain is the main technical innovation of bitcoin, where it serves as the public ledger for bitcoin transactions.
What you will learn
- Walk through the basics of the Blockchain technology
- Implement Blockchain’s technology and its features, and see what can be achieved using them
- Build DApps using Solidity and Web3.js
- Understand the geth command and cryptography
- Create Ethereum wallets
- Explore mining ecosystem
About the Author
Narayan Prusty is currently working at a Blockchain company (Attores). Attores’ platform is an Ethereum product.
Narayan writes Smart Contracts and also build the front end using Web3.js. He has been working on Ethereum for last 6 months.
You can connect with him on LinkedIn at https://in.linkedin.com/in/narayanprusty. You can tweet him on Twitter at https://twitter.com/narayanprusty. Or you can check out his company’s website, http://qnimate.com/.
Table of Contents
1. Understanding Decentralized Applications
1. What is a DApp?
2. Decentralized autonomous organization
3. User identity in DApps
4. User accounts in DApps
5. Accessing the centralized apps
6. Internal currency in DApps
7. What are permissioned DApps?
8. Popular DApps
2. Understanding How Ethereum Works
1. Overview of Ethereum
2. Ethereum accounts
7. Block time
9. Genesis block
10. Ether denominations
11. Ethereum virtual machine
13. Peer discovery
14. Whisper and Swarm
16. Ethereum Wallet
3. Writing Smart Contracts
1. Solidity source files
2. The structure of a smart contract
3. Data location
4. What are the different data types?
5. Control structures
6. Creating contracts using the new operator
8. External function calls
9. Features of contracts
11. Returning multiple values
12. Importing other Solidity source files
13. Globally available variables
14. Ether units
15. Proof of existence, integrity, and ownership contract
16. Compiling and deploying contracts
4. Getting Started with web3.js
1. Introduction to web3.js
2. Building a client for an ownership contract
5. Building a Wallet Service
1. Difference between online and offline wallets
2. hooked-web3-provider and ethereumjs-tx libraries
3. What is a hierarchical deterministic wallet?
4. Introduction to key derivation functions
5. Introduction to LightWallet
6. Building a wallet service
6. Building a Smart Contract Deployment Platform
1. Calculating a transaction's nonce
2. Introducing solcjs
3. Building a contract deployment platform
7. Building a Betting App
1. Introduction to Oraclize
2. Working with strings
3. Building the betting contract
4. Building a client for the betting contract
8. Building Enterprise Level Smart Contracts
1. Exploring ethereumjs-testrpc
2. What are event topics?
3. Getting started with truffle-contract
4. Introduction to truffle
9. Building a Consortium Blockchain
1. What is a consortium blockchain?
2. What is Proof-of-Authority consensus?
3. Introduction to parity