Building a Blockchain Using JavaScript: Part 1