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
Contributors
Preface
Index

Deploying a smart contract


As you might have noticed, two migration-related files were created by the previous command, Migrations.sol and 1_initial_migration.js. Migrations.sol stores a number that corresponds to the last applied "migration" script. When you add a new contract and deploy the contract, the number of the last deployment in stores will increase. After the contract has run once, it will not run again. The numbering convention is x_script_name.js, with x starting at 1, that is 1_initial_migration.js. Your new contracts would typically come in scripts starting at 2_....

In our case, we will add a new migration contract to deploy CrowdFunding. Let's create a file called 2_deploy_contracts.js

CrowdFunding.sol defines the constructor as follows:

constructor (address _owner, uint _minimumToRaise, uint _durationProjects,
        string _name, string _website)

To deploy a contract, with optional constructor arguments, you can call the truffle deploy function, deployer.deploy(contract...