The purpose of this application is to demonstrate how a very basic implementation of a blockchain system works. Blocks are stored locally with the possibility of also writing on Google docs spreadsheet. The user can write a message and store it on chain. The program will calculate a hash for each entry and those messages and hashes will form a cryptographically secured chain of Blocks, a Blockchain. The user can print out the messages in the chain and check it's validity by having the hashes recalculated and compared to the original entries. Blocks can be written to a Google Sheets spreadsheet. The sheet is publicly editable. If the sheet is modified from outside of this application the chain will become corrupted and the program will notice it and do a rewrite according to the local state of the chain.
Run tests with the following command:
mvn test
Create a test coverage report with:
mvn jacoco:report
After running the above command find the report from target/site/jacoco/index.html and open in browser.
Run style checks as defined in checkstyle.xml with the following command:
mvn jxr:jxr checkstyle:checkstyle
To open the report navigate to target/site/ and open checkstyle.html in your browser
Run the following command to generate the JAR file:
mvn package
Now a file named blockchainexperiment-1.0-SNAPSHOT.jar can be found in the project's target folder
Generate JavaDoc with the following command:
mvn javadoc:javadoc
The documentation can be found in target/site/apidocs/index.html
Week five release
Week six release