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)

Areas of improvement

Now, there are a few areas where the blockchain could be improved. One of those areas is in error handling. Throughout this book, we didn't do much error handling, because we were focusing on getting the actual functionalities to work correctly, but to improve this blockchain we would definitely want to do a lot of error handling. This would ensure that our blockchain can't be hacked, and also make sure that it runs correctly.

Another area where this blockchain could be improved is when we are making transactions. Right now, when we make transactions, we send a certain amount of Bitcoin from one person to another, but at no point do we validate that the sender actually has this bitcoin to send.

One exercise we would encourage you to do is to go to our createTransaction method in our blockchain data structure, and then find a way to verify that the...