Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Blockchain Developer's Guide

You're reading from   Blockchain Developer's Guide Develop smart applications with Blockchain technologies - Ethereum, JavaScript, Hyperledger Fabric, and Corda

Arrow left icon
Product type Course
Published in Dec 2018
Publisher
ISBN-13 9781789954722
Length 564 pages
Edition 1st Edition
Languages
Concepts
Arrow right icon
Authors (4):
Arrow left icon
Paul Valencourt Paul Valencourt
Author Profile Icon Paul Valencourt
Paul Valencourt
Brenn Hill Brenn Hill
Author Profile Icon Brenn Hill
Brenn Hill
Narayan Prusty Narayan Prusty
Author Profile Icon Narayan Prusty
Narayan Prusty
Samanyu Chopra Samanyu Chopra
Author Profile Icon Samanyu Chopra
Samanyu Chopra
Arrow right icon
View More author details
Toc

Table of Contents (37) Chapters Close

Title Page
Copyright
About Packt
Contributors
Preface
1. Blockchain 101 FREE CHAPTER 2. Components and Structure of Blockchain 3. Decentralization Versus Distributed Systems 4. Cryptography and Mechanics Behind Blockchain 5. Bitcoin 6. Altcoins 7. Achieving Consensus 8. Advanced Blockchain Concepts 9. Cryptocurrency Wallets 10. Alternate Blockchains 11. Hyperledger and Enterprise Blockchains 12. Ethereum 101 13. Solidity 101 14. Smart Contracts 15. Ethereum Accounts and Ether Tokens 16. Decentralized Applications 17. Mining 18. ICO 101 19. Creating Your Own Currency 20. Scalability and Other Challenges 21. Future of Blockchain 22. Understanding Decentralized Applications 23. Understanding How Ethereum Works 24. Writing Smart Contracts 25. Getting Started with web3.js 26. Building a Wallet Service 27. Building a Smart Contract Deployment Platform 28. Building a Betting App 29. Building Enterprise Level Smart Contracts 30. Building a Consortium Blockchain 1. Other Books You May Enjoy Index

Preface

Getting Started with Blockchain takes you through the electrifying world of blockchain technology. It begins with the basic design of a blockchain and elaborates concepts, such as Initial Coin Offerings (ICOs), tokens, smart contracts, and other related terminologies of the blockchain technology. You will then explore the components of Ethereum, such as ether tokens, transactions, and smart contracts that you need to build simple DApps.

This Learning Path also explains why you must specifically use Solidity for Ethereum-based projects and lets you explore different blockchains with easy-to-follow examples. You will learn a wide range of concepts - beginning with cryptography in cryptocurrencies and including ether security, mining, and smart contracts. You will learn how to use web sockets and various API services for Ethereum.

By the end of this Learning Path, you will be able to build efficient decentralized applications.

This Learning Path includes content from the following Packt products:

  • Blockchain Quick Reference by Brenn Hill, Samanyu Chopra, Paul Valencourt
  • Building Blockchain Projects by Narayan Prusty

Who this book is for

Getting Started with Blockchain is for you if you want to get to grips with the blockchain technology and develop your own distributed applications. It is also designed for those who want to polish their existing knowledge regarding the various pillars of the blockchain ecosystem. Prior exposure to an object-oriented programming language such as JavaScript is needed.

What this book covers

Chapter 1Blockchain 101, explains what blockchain technologies are and how they work. We also introduce the concept of the distributed ledger.

Chapter 2Components and Structure of Blockchain, takes a closer look at the technical underpinnings of a blockchain and peeks under the hood to understand what a block is and how the chain is created.

Chapter 3Decentralization Versus Distributed Systems, covers different types of decentralized and distributed systems and cover the often-overlooked differences between them.

Chapter 4Cryptography and Mechanics Behind Blockchain, discusses the fundamentals of cryptographic systems which are critical to the proper functioning of all blockchains.

Chapter 5Bitcoin, examine Bitcoin, the first blockchain, and it's specific mechanics in depth.

Chapter 6Altcoins, covers the major non-bitcoin cryptocurrency projects that have gained popularity over the last few years.

Chapter 7Achieving Consensus, looks into the different ways blockchains help achieve consensus. This is one of the most important aspects of blockchain behavior.

Chapter 8Advanced Blockchain Concepts, covers the interactions between blockchain technology, privacy, and anonymity along with some of the legal side effects of blockchain technology.

Chapter 9Cryptocurrency Wallets, covers the different wallet solutions that exist for keeping your cryptocurrency secure.

Chapter 10Alternate Blockchains, examine blockchain creation technologies such as Tendermint and Graphene, and other non-currency based blockchain technologies.

Chapter 11Hyperledger and Enterprise Blockchains, examine the Hyperledger family of distributed ledger technologies aimed at corporate and enterprise use.

Chapter 12Ethereum 101, look at Ethereum, the second most dominant blockchain technology today.

Chapter 13Solidity 101, cover the basics of Solidity, the Ethereum programming language.

Chapter 14Smart Contracts, covers the smart contracts, which are enabled in different ways by different blockchain technologies.

Chapter 15Ethereum Accounts and Ether Tokens, in this chapter, we look at the mechanics of Ethereum accounts and the token itself in the Ethereum system.

Chapter 16Decentralized Applications, discusses decentralized applications as a whole, including ones that operate without a blockchain or in tandem with blockchain technologies.

Chapter 17Mining, we cover blockchain mining and how this is used to secure blockchains, the different types of hardware used in mining, and the different protocols involved.

Chapter 18ICO 101, we cover the basics of launching an Initial Coin Offering or Initial Token Offering.

Chapter 19Creating Your Own Currency, we cover the creation of your own blockchain based cryptocurrency.

Chapter 20Scalability and Other Challenges, covers the difficulties and limitations currently facing blockchain technology.

Chapter 21Future of Blockchain, we examine the possible future developments of the industry technologically, legally, and socially.

Chapter 22Understanding Decentralized Applications, will explain what DApps are and provide an overview of how they work.

Chapter 23Understanding How Ethereum Works, explains how Ethereum works.

Chapter 24Writing Smart Contracts, shows how to write smart contracts and use geth's interactive console to deploy and broadcast transactions using web3.js.  

Chapter 25Getting Started with web3.js, introduces web3js and how to import, connect to geth, and explains use it in Node.js or client-side JavaScript.

Chapter 26Building a Wallet Service, explains how to build a wallet service that users can create and manage Ethereum Wallets easily, even offline. We will specifically use the LightWallet library to achieve this.

Chapter 27Building a Smart Contract Deployment Platform, shows how to compile smart contracts using web3.js and deploy it using web3.js and EthereumJS.

Chapter 28Building a Betting App, explains how to use Oraclize to make HTTP requests from Ethereum smart contracts to access data from World Wide Web. We will also learn how to access files stored in IPFS, use the strings library to work with strings, and more. 

Chapter 29Building Enterprise Level Smart Contracts, explains how to use Truffle, which makes it easy to build enterprise-level DApps. We will learn about Truffle by building an alt-coin.

Chapter 30Building a Consortium Blockchain, we will discuss consortium blockchain.

 

To get the most out of this book

To complete this book successfully, students will require computer systems with at least an Intel Core i5 processor or equivalent, 8 GB RAM, and 35 GB available storage space.  Along with this, you would require the following software:

  • Operating System: Windows or above
  • Windows Subsystem shell
  • Litecoin
  • Visual Studio
  • npm
  • truffle framework
  • Ethereum-JS ganache-cli
  • remix (remix.ethereum.org Sublime editor / Web Browser
  • Node.js version 7.9.0 or higher
  • Google Chrome version 55.0.2883 or higher
  • Truffle version 3.1.2
  • Parity version 1.7.0
  • Rust version 1.16.0

Download the example code files

You can download the example code files for this book from your account at www.packt.com. If you purchased this book elsewhere, you can visit www.packt.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

  1. Log in or register at www.packt.com.
  2. Select the SUPPORT tab.
  3. Click on Code Downloads & Errata.
  4. Enter the name of the book in the Search box and follow the onscreen instructions.

 

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR/7-Zip for Windows
  • Zipeg/iZip/UnRarX for Mac
  • 7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/TrainingByPackt/Blockchain-Developers-Guide. In case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "The WebDriver class provides constructors for each browser."

A block of code is set as follows:

difficulty = difficulty_1_target/current_target difficulty_1_target = 0x00000000FFFF0000000000000000000000000000000000000000000000000000

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

COMMANDS:
list Print summary of existing accounts
new Create a new account
update Update an existing account
import Import a private key into a new account

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "If a user clicks on the Your Account option on the Home Webpage, the application will check whether they have already logged in."

 

Note

Warnings or important notes appear like this.

Note

Tips and tricks appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, mention the book title in the subject of your message and email us at customercare@packtpub.com.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packt.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at copyright@packt.com with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packt.com.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime