Skip to content

vijethph/LedgerCoin

Repository files navigation

Status GitHub issues Contributors GitHub forks GitHub stars GitHub license Made with TypeScript made-with-angular forthebadge Deploy to Render


Logo

LedgerCoin

An Angular App that visualizes the working of blockchain.

Report Bug · Request Feature

Table of Contents

About The Project

Project working second screenshot

This is a Angular app that uses MongoDB, Express Framework, Node.js and Angular Framework to visualize the working of Blockchain, with user authentication. It uses a simple implementation of Blockchain with Proof-of-Work algorithm, verification, wallet generation and transaction signing features. It also makes use of CoinGecko API to display the latest currency exchange rates with respect to BitCoin.

Built With

This project is entirely built with the following components and languages:

Getting Started

Follow these instructions in order to get a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Node.js>=16 and MongoDB>=4.2 should be present. After installation, check Node.js version, and MongoDB daemon status using

node --version
service mongod status

Installation

  1. Clone the repo
git clone https://github.com/vijethph/LedgerCoin.git
  1. Open the downloaded folder
cd LedgerCoin
  1. Modify the MongoDB URI in server.ts file inside src folder as per your DB configuration. Then import the required dependencies in both of these folders: src and client, using
npm install
  1. Run the program using
npm run dev

The app should be running in http://localhost:3000 in your browser.

Another way to install this app is to use Docker Compose. Run this command to start the app:

docker-compose up

This will run the app at http://localhost:3000, which can be seen in your browser.

Usage

Once the app starts, you can create an account in Register page, and then login to find the visualization of blockchain. Some transactions are already made by the system for you to get a basic idea of how the blockchain works. You can click on each block, and find the corresponding transactions made under each block.

You can also create transactions by giving money (not real, of course) to any person, and sign the pending transactions. You can also change the difficulty of mining, and view the wallet amounts of parties involved.

Contributing contributions welcome

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License.

Contact

Vijeth P H - @vijethph

Project Link: https://github.com/vijethph/LedgerCoin

Thank You!

forthebadge

If you like this project, please ⭐ this repo and share it with others 👍

Acknowledgements