Book Image

Learn Blockchain Programming with JavaScript

By : Eric Traub
Book Image

Learn Blockchain Programming with JavaScript

By: Eric Traub

Overview of this book

Learn Blockchain Programming with JavaScript begins by giving you a clear understanding of what blockchain technology is. You’ll then set up an environment to build your very own blockchain and you’ll add various functionalities to it. By adding functionalities to your blockchain such as the ability to mine new blocks, create transactions, and secure your blockchain through a proof-of-work you’ll gain an in-depth understanding of how blockchain technology functions. As you make your way through the chapters, you’ll learn how to build an API server to interact with your blockchain and how to host your blockchain on a decentralized network. You’ll also build a consensus algorithm and use it to verify data and keep the entire blockchain network synchronized. In the concluding chapters, you’ll finish building your blockchain prototype and gain a thorough understanding of why blockchain technology is so secure and valuable. By the end of this book, you'll understand how decentralized blockchain networks function and why decentralization is such an important feature for securing a blockchain.
Table of Contents (10 chapters)

Creating multiple nodes

Let's begin by building the decentralized network:

  1. The first thing that we'll have to do to create our decentralized blockchain network is make some modifications to our api.js file.
  2. In our decentralized network, we're going to have multiple instances of our API, and each one of them will act as a network node. Since we'll be dealing with multiple network nodes, it will be better to rename our api.js file to networkNode.js for easy reference.
  3. To set up the decentralized network, we'll have to run the networkNode.js file multiple times. Each time we run the file, we want it to act as a different network node. Let's do this by running the file on different ports every time we run it. To have a different ports value every time, we'll have to make port a variable. To do this, add the following line at the start of the code...