An Angular App that visualizes the working of blockchain.
Report Bug
·
Request Feature
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.
This project is entirely built with the following components and languages:
- MongoDB - NoSQL Database
- Express - Server Framework
- Angular Framework - Frontend Component-based Framework
- Node.js Runtime - Server Environment
- TypeScript - Programming Language
- CoinGecko API - Currency Exchange Rate API
Follow these instructions in order to get a copy of the project up and running on your local machine for development and testing purposes.
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
- Clone the repo
git clone https://github.com/vijethph/LedgerCoin.git
- Open the downloaded folder
cd LedgerCoin
- Modify the MongoDB URI in
server.ts
file insidesrc
folder as per your DB configuration. Then import the required dependencies in both of these folders:src
andclient
, using
npm install
- 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.
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.
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.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License.
Vijeth P H - @vijethph
Project Link: https://github.com/vijethph/LedgerCoin
If you like this project, please ⭐ this repo and share it with others 👍