Book Image

Blockchain Developer's Guide

By : Brenn Hill, Samanyu Chopra, Paul Valencourt, Narayan Prusty
Book Image

Blockchain Developer's Guide

By: Brenn Hill, Samanyu Chopra, Paul Valencourt, Narayan Prusty

Overview of this book

Blockchain applications provide a single-shared ledger to eliminate trust issues involving multiple stakeholders. It is the main technical innovation of Bitcoin, where it serves as the public ledger for Bitcoin transactions. Blockchain Developer's Guide 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. You will then explore the components of Ethereum, such as Ether tokens, transactions, and smart contracts that you need to build simple DApps. Blockchain Developer's Guide 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
Table of Contents (37 chapters)
Title Page
Copyright
About Packt
Contributors
Preface
Index

Blocks


The transaction data is recorded in files, and these files are known as blocks. The blocks are stacked on top of one another, the most recent block being at the top. The following table depicts the structure of the block and the size of the elements in a block:

Every block in the Bitcoin network has almost the same structure, and each of the blocks is chained to the most recent block. These are the fields of the block:

  • Magic number: This number is an identifier for the blockchain network. Its value is always constant at 0xD9B4BEF9. It confirms the start of the block and verifies that the data is from the production network.
  • Block size: This signifies the size of the block.
  • Block header: A header contains the metadata of the block. It comprises multiple items of data, such as the Bitcoin version, the previous block hash, Merkle root, timestamp, mining difficulty, and nonce.
  • Transaction counter: It is the count of the transactions in the block.
  • Transaction list: It stores the hash of the...