malivinayak / testChain

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project testChain

Project TestChain can provide a basic understanding of BlockChain.
License MIT

Index

  1. Description
  2. Project Working
  3. Requirements
  4. Installation
  5. Project Files
  6. Compiled .class files
  7. Contributing
  8. Thank You!

Description 📃

testChain is a basic demo of Blockchain. This project is developed to get a basic idea of the workings of Blockchain

testChain is developed with Java , SHA256 Cryptographic algorithm and Mining of Blocks concept.

There are mainly 2 options to showcase the basic functions of a blockchain :

  1. Display the Blockchain

  2. Insert a block into testChain ( Mine new Block )

  1. Display the Blockchain✨

The display function will display all blocks in testChain with securely stored data, its hash and mining run (iteration counter of mine block to get specific hash ).

Before displaying testChain, all blocks must undergo 3 authentication checks (i.e. isChainValid function) :

a. registered hash and calculated hash must matched

b. previous hash and registered previous hash must matched

c. check if hash is solved or mining is completed

  1. Insert a block into testChain ( Mine new Block )✨

For mining of new block or insertion of block in testChain, data is taken from user. For Calculating Hash value SHA-256 Algorithm is applied on String containing previousHash, timeStamp i.e. minning start time in millisecond, data and miner. Block was mined by setting difficulty level 5 (It can be changed).


Project Working 🕹️

  1. Project testChain

Project testChain

  1. Options

Options

  1. Displaing Empty testChain

  1. Adding 1st Block

  1. Displaying testChain

  1. Adding next Block

  1. Adding next Block

  1. Displaying testChain

  1. Exit

Requirements 🔧

Java version 8 or higher

Installation 🔌

  1. Press the Fork button (top right the page) to save copy of this project on your account.

  2. Download the repository files (project) from the download section or clone this project by typing in the bash the following command:

    https://github.com/malivinayak/testChain.git
    
  3. Imported it in Intellij IDEA or any other Java IDE.

  4. You can compile directly in command line or terminal too.

  5. Run the application :D

  6. Alternativly download .class files and directly run in Command Prompt or Terminal.

Project files 📂

Compiled .class files 📂

Contributing 💡

If you want to contribute to this project and make it better with new ideas, your pull request is very welcomed. If you find any issue just put it in the repository issue section, thank you.

Thank You!

Please ⭐️ this repo Let me know if you have any suggestions

🔝

About

License:MIT License


Languages

Language:Java 100.0%