Book Image

Blockchain Quick Start Guide

By : Xun (Brian) Wu, Weimin Sun
Book Image

Blockchain Quick Start Guide

By: Xun (Brian) Wu, Weimin Sun

Overview of this book

Blockchain is a technology that powers the development of decentralized applications.This technology allows the construction of a network with no single control that enables participants to make contributions to and receive benefits from the network directly. This book will give you a thorough overview of blockchain and explain how a blockchain works.You will begin by going through various blockchain consensus mechanisms and cryptographic hash functions. You will then learn the fundamentals of programming in Solidity – the defacto language for developing decentralize, applications in Ethereum. After that, you will set up an Ethereum development environment and develop, package, build, and test campaign-decentralized applications.The book also shows you how to set up Hyperledger composer tools, analyze business scenarios, design business models, and write a chain code. Finally, you will get a glimpse of how blockchain is actually used in different real-world domains. By the end of this guide, you will be comfortable working with basic blockchain frameworks, and develop secure, decentralized applications in a hassle-free manner.
Table of Contents (14 chapters)
Title Page
Copyright and Credits
About Packt

Introduction to smart contracts

Let's begin with the most basic smart contract example,  HelloWorld.sol, shown as follows:

pragma solidity ^0.4.24;

contract HelloWorld {
  string public greeting;

  constructor() public {
    greeting = 'Hello World';

  function setNewGreeting (string _newGreeting) public {
    greeting = _newGreeting;

Solidity's file extension is .sol.  It is similar to .js for JavaScript files, and .html for HTML templates.

Layout of a solidity source file

A solidity source file is typically composed of the following constructs: pragma, comments, and import.


The first line containing the keyword pragma simply says that the source code file will not compile with a compiler earlier than version 0.4.24. Anything newer does not break functionality. The ^ symbol implies another condition—the source file will not work either on compilers beyond version 0.5.0.


Comments are used to make the source code easier for humans to understand the function of the program...