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)

Hashing the data

The next method that we are going to look at and add into our blockchain data structure is called hashBlock. What this hashBlock method will do is take in a block from our blockchain and hash its data into a fixed length string. This hashed data will appear randomly.

In essence, what we're going to do is pass some blocks of data into this hash method, and in return we'll get a fixed-length string, which will simply be a hash data that is generated from the data that we passed in or from the block that we passed.

To add the hashBlock method to our blockchain data structure, type the following line of code after our createNewTransaction method:

Blockchain.prototype.hashBlock = function(blockdata) {


In our hashBlock method, blockdata will be the input data of our block from which we want to generate the hash.

So, how can we take a block or blocks...