/Ledged

secured blockchain ledger

Primary LanguageJavaScriptMIT LicenseMIT

DIVERSION 2k23 - Ledged


Logo

Immutable and Decentralized ledgers

Watch Demo Video
Live

Use this readme for getting stared with this project
docs »

Blog · Report Issues · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

🤩🤩About The Project🤩🤩

WhatsApp.Video.2023-02-26.at.12.59.30.AM.mp4

💭Inspiration :

  • Currently, Data in centralized systems is at the risk of being easily tampered/modified as there is a single entity(central authority) which is controlling them. For example , FIR copies being tampered/deleted or bank information altered by misusers or post morterm reports manipulated , etc.
  • To solve this problem , we came up with a solution using blockchain.
  • Usecase :In law enforcement

   In the field of law enforcement , it is seen that crucial informations like FIR reports , Post-mortem reports are often illegally tampered , by influence or power , to favour a certain side. We can prevent this by using blockchain technology , which is immutable and non-destructable.

  • Another Usecase :In banking

   Most of banking and their servers are centeralized. This , however unwillingly , gives them supreme authority over our data, including access to our account balance , cheque details , money transfers , etc. Servers are prone to hacking or other data breach issues , also , the centeralized company might not be very trustworthy with our data. This issue is also valid for businesses of all scale.

     Blockchain (One of the ways to implement decentralization) steps into the picture to solve our problems.

💡What problem does the project solve?

  • The project aims to solve the problem of information manipulation in public and private sectors.
  • The DAPP helps us to create customizable ledgers (records) that are stored in decentralised blockchain networks.
  • Ledged also allows us to upload files using FileCoin IPFS
  • It also enables the user to systematically preview the past ledgers
  • This makes it immune to tampering or manipulation.
  • Transparency of data is maintained.

🙌Overview

  • In The landing Page, the user will be able to see features of our DAPP and also get started with our ledger
  • After clicking the get started button , the login happens using Metamask wallet
  • The user is redirected to their profile page , where they can view their past ledgers or create new ledgers
  • At New Ledger page , user can create their custom fields and data , and also upload files
  • They are also allowed to preview the file in the preview section before finally clicking Deploy
  • The previously created ledgers can be viewed under Previous Ledgers page.

💀 Challenges we ran into:

  • Since blockchain is fairly new technology , we were finding it difficult to get solutions of out bugs due to smaller community.
  • In the solidity file , i was using a struct of my own , but due to lack of resources , we faced problems initially.
  • A very recent and major update of Ether JS made it very confusing , and we had to go through a lot of documentations

🔮 What's Next For Our Project:

  • Restructuring the view-ledger section for better readibility and better organization
  • Optimization and minor bug fixes

( back to top)

💻 Built With

  • React - for building the frontend UI
  • Vite - as Module bundler instead of webpack
  • Etherium- as main blockchain
  • Solidity- for writing smart contract
  • 5ire - RPC to host our dapp and as our main blockchain service
  • Filecoin- as IPFS
  • - Build on Top of Polygon chain
  • GoDaddy for our domain registry

(back to top)

Getting Started

For setting up your project locally, follow these simple steps.

Prerequisites

You must have NPM(Node Package Manager) installed in your system , If you dont we got you covered

Install NPM

Installation

How to setup this project

  1. Clone the repo

    git clone https://github.com/arnab2001/Ledged.git
  2. Install all the NPM packages

    npm install
  3. configure .env and add

    DB_CONNECT = 'mongodb+srv://<username>:<password>@cluster0.dehf4yw.mongodb.net/?retryWrites=true&w=majority'
  4. Create a wallet.json file and add your public and private key

    {
     "privateKey": "<private_key>",
     "publicKey": "<public_key>"
     }
  5. Then import wallet using the private key, use the following command

Metamask
  1. run
npm start dev

(back to top)

Roadmap

 

  • landing page
  • Avatar component
  • Ledger page
  • PastLedger page
  • Adding smart contract
  • Intigrate 5ire
  • Intigrate filecoin
  • Add backend for Autosave
  • deploy in digital ocean

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "improvement". Don't forget to star this project!!

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

(back to top)

License

Distributed under the MIT License

(back to top)

(back to top)

Contributors


Made with ❤️ by team Bugbyte