In this two-part exercise, you will build a blockchain that can store basic text messages in a blockchain, and allow the state of the blockchain to be queried.
The objectives of this exercise are to get familiar with the fundamental data structures, operations, and communication messages for a blockchain.
Each part includes tests for your blockchain data structure and its operations. Implement the necessary behavior to get 100% test passage first, then hook up your blockchain to the contextual programs as provided.