This is simple block-chain demo for java, using sha256 hashing algorithm.
There are two block-chain implementations.
- simple one in
itx.examples.blockchain.simplewhich does not require proof-of-work (mining) for next block to be added into ledger. This implementation is much faster. - advanced one in
itx.examples.blockchain.advancedwhich requires proof-of-work (mining) for next block to be added into ledger. When new block is added into ledger, it's hash and nonce is setup to meed certain criteria. This procedure takes computing time. This implementation is inspired by this video tutorial.
LedgerBuilder ledgerBuilder = new LedgerBuilder();
ledgerBuilder.setId("ledger 1");
ledgerBuilder.setHashPrefix("00"); //<- this is only for advanced ledger
ledgerBuilder.addData("data 1");
ledgerBuilder.addData("data 2");
ledgerBuilder.addData("data 3");
ledgerBuilder.addData("data 4");
Ledger ledger = ledgerBuilder.build();
boolean ledgerOk = BlockChainUtils.verifyLedger(ledger);
gradle clean build