Use this readme for getting stared with this project
docs »
Blog
·
Report Issues
·
Request Feature
Table of Contents
WhatsApp.Video.2023-02-26.at.12.59.30.AM.mp4
- 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.
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.
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.
- 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.
- 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.
- 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
- Restructuring the view-ledger section for better readibility and better organization
- Optimization and minor bug fixes
( back to top)
- 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
For setting up your project locally, follow these simple steps.
You must have NPM(Node Package Manager) installed in your system , If you dont we got you covered
How to setup this project
-
Clone the repo
git clone https://github.com/arnab2001/Ledged.git
-
Install all the NPM packages
npm install
-
configure
.env
and addDB_CONNECT = 'mongodb+srv://<username>:<password>@cluster0.dehf4yw.mongodb.net/?retryWrites=true&w=majority'
-
Create a wallet.json file and add your public and private key
{ "privateKey": "<private_key>", "publicKey": "<public_key>" }
-
Then import wallet using the private key, use the following command
Metamask
- run
npm start dev
- 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).
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!!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/Feature1
) - Commit your Changes (
git commit -m 'Add Feature 1'
) - Push to the Branch (
git push origin feature/Feature1
) - Open a Pull Request
Distributed under the MIT License