Book Image

Blockchain By Example

By : Bellaj Badr, Richard Horrocks, Xun (Brian) Wu
Book Image

Blockchain By Example

By: Bellaj Badr, Richard Horrocks, Xun (Brian) Wu

Overview of this book

The Blockchain is a revolution promising a new world without middlemen. Technically, it is an immutable and tamper-proof distributed ledger of all transactions across a peer-to-peer network. With this book, you will get to grips with the blockchain ecosystem to build real-world projects. This book will walk you through the process of building multiple blockchain projects with different complexity levels and hurdles. Each project will teach you just enough about the field's leading technologies, Bitcoin, Ethereum, Quorum, and Hyperledger in order to be productive from the outset. As you make your way through the chapters, you will cover the major challenges that are associated with blockchain ecosystems such as scalability, integration, and distributed file management. In the concluding chapters, you’ll learn to build blockchain projects for business, run your ICO, and even create your own cryptocurrency. Blockchain by Example also covers a range of projects such as Bitcoin payment systems, supply chains on Hyperledger, and developing a Tontine Bank Every is using Ethereum. By the end of this book, you will not only be able to tackle common issues in the blockchain ecosystem, but also design and build reliable and scalable distributed systems.
Table of Contents (13 chapters)

Testing the code

The next step in our implementation is to test the code. We could do this by manually calling the functions in our contracts and checking for the expected outcome, but the better way is to write tests using Truffle's test framework, thereby allowing us to automate the testing process.

Note that we could have developed our contracts in a test-driven way, by first defining the expected behavior of our contracts, writing an initially-failing test to test that behavior, and then writing code to allow the test to pass. In our case, we haven't done this, but Test-Driven Development (TDD) is a popular option for developers using the Truffle framework.

Truffle allows tests to be written in both JavaScript and Solidity. For our implementation, we'll use JavaScript, which, under Truffle, uses the Mocha testing framework and Chai assertion library. If you...