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)

Building the API foundation

We are going to continue building our blockchain API in this section, and then we're going to build the following three endpoints in our API to start with:

  • The first endpoint is /blockchain, which allows us to fetch our entire blockchain so that we can look at the data that's inside of it.
  • The second endpoint is /transaction, which allows us to create a new transaction.
  • The third endpoint is /mine, which will allow us to mine a new block by using the proofOfWork method that we made in the last chapter. This is going to be a pretty powerful endpoint, and it will be fun to build.

This is basically going to be the foundation of our blockchain API. In the dev/networkNode.js file, let's define these endpoints as follows:

const express = require('express');
const app = express();

app.get('/blockchain', function (req, res...