Welcome to Learning Blockchain Programming with JavaScript. As the name suggests, in this book, you'll learn how to build a fully functional blockchain from scratch using the JavaScript programming language. The blockchain that you build will have functionalities that are similar to those you would find in a production-level blockchain for examples such as Bitcoin or Ethereum.
In this book, you will understand how blockchain technology actually workes by learning to build your own blockchain and understanding the decentralized network. Toward the conclusion of the book, you will have a full-fledged blockchain prototype that is hosted on a decentralized network, and you'll have gained a great deal of knowledge and understanding as to how blockchains actually work under the hood.
The blockchain that we will create throughout this book will be able to carry out the following functionalities:
- Perform a proof of work to secure the blockchain
- Create new blocks through a mining process
- Create new, immutable transactions
- Validate the entire blockchain and all of the data within each block
- Retrieve address/transaction/block data
Along with these, the blockchain will have many other important features. You'll get to explore those as you read further through the chapters.
To follow this book, all you'll need is a computer and some basic knowledge of the JavaScript programming language.
Firstly, in this introductory chapter, let's try to understand what blockchain actually is. This will help you to become familiar with the concept of blockchain, as this is a prerequisite for the book. Then we'll move on to learn how to set up the project to create our own blockchain.
So, let's get started!