Book Image

Blockchain Development with Hyperledger

By : Salman A. Baset, Luc Desrosiers, Nitin Gaur, Petr Novotny, Anthony O'Dowd, Venkatraman Ramakrishna, Weimin Sun, Xun (Brian) Wu
Book Image

Blockchain Development with Hyperledger

By: Salman A. Baset, Luc Desrosiers, Nitin Gaur, Petr Novotny, Anthony O'Dowd, Venkatraman Ramakrishna, Weimin Sun, Xun (Brian) Wu

Overview of this book

Blockchain and Hyperledger are open source technologies that power the development of decentralized applications. This Learning Path is your helpful reference for exploring and building blockchain networks using Ethereum, Hyperledger Fabric, and Hyperledger Composer. Blockchain Development with Hyperledger will start off by giving you an overview of blockchain and demonstrating how you can set up an Ethereum development environment for developing, packaging, building, and testing campaign-decentralized applications. You'll then explore the de facto language Solidity, which you can use to develop decentralized applications in Ethereum. Following this, you'll be able to configure Hyperledger Fabric and use it to build private blockchain networks and applications that connect to them. Toward the later chapters, you'll learn how to design and launch a network, and even implement smart contracts in chain code. By the end of this Learning Path, you'll be able to build and deploy your own decentralized applications by addressing the key pain points encountered in the blockchain life cycle. This Learning Path includes content from the following Packt products: • Blockchain Quick Start Guide by Xun (Brian) Wu and Weimin Sun • Hands-On Blockchain with Hyperledger by Nitin Gaur et al.
Table of Contents (25 chapters)
Title Page
Copyright
About Packt
Contributors
Preface
Index

Writing a campaign decentralized application


We just deployed our smart contract on our local Ganache blockchain environment. Now, we will start to write UI code to trigger smart contract functions through an RPC call. The source code for this chapter is available at https://bit.ly/2X8xPBL.

Selecting a web3 provider

When we load a web page, we need to connect to a web3 provider. If you have already installed a provider such as MetaMask, you can use your correct provider option, as follows:

App.web3Provider = web3.currentProvider;

In our crowdfunding example, for the sake of simplicity, we will directly connect to our local Ganache server, as follows:

App.web3Provider = new Web3.providers.HttpProvider('http://localhost:8545');

Loading account information

To load accounts, we define a drop-down menu with empty content, as follows:

<div class="form-group">
                <label for="exampleFormControlSelect1">Accounts</label>
                <select class="form-control" id="accts...