Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nagendra10pratap/smart-contract-based-land-registry-system-using-ethereum-blockchain
Developed a decentralized application using Blockchain which could overcome the shortcomings of the existing process of land registry.
https://github.com/nagendra10pratap/smart-contract-based-land-registry-system-using-ethereum-blockchain
blockchain ethereum ganache ipfs metamask mongodb nodejs reactjs smart-contracts solidity truffle
Last synced: 5 days ago
JSON representation
Developed a decentralized application using Blockchain which could overcome the shortcomings of the existing process of land registry.
- Host: GitHub
- URL: https://github.com/nagendra10pratap/smart-contract-based-land-registry-system-using-ethereum-blockchain
- Owner: Nagendra10pratap
- Created: 2024-02-18T03:44:01.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-02-18T04:04:45.000Z (10 months ago)
- Last Synced: 2024-11-09T19:29:45.771Z (about 2 months ago)
- Topics: blockchain, ethereum, ganache, ipfs, metamask, mongodb, nodejs, reactjs, smart-contracts, solidity, truffle
- Language: JavaScript
- Homepage:
- Size: 1.71 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Smart Contract Based Land Registry System using Ethereum Blockchain
![Land Registry](https://github.com/Nagendra10pratap/Smart-Contract-Based-Land-Registry-System-using-Ethereum-Blockchain/assets/159735419/167babdb-6a35-4056-b590-5823dd85976d)
## Abstract
Developed a decentralized application using Blockchain which could overcome the short-comings of the existing process of land registry. Through Blockchain, it is possible to keep track of how property changes hand to hand. For buyers, sellers and Government registrars, it is easier to transfer the land ownership from a seller to a new buyer without any intermediaries. It provides immutability, auditability, traceability, and anonymity features which attracts the people around the globe to implement its decentralization feature in the land registry process. It also accelerates the process of registration and provides transparency to the system.
## Technologies Used
- ReactJS
- NodeJS
- MongoDB
- Solidity
- IPFS## Prerequisites
#### Install Node JS
Refer to https://nodejs.org/en/ to install nodejs.#### Install Ganache
Refer to https://www.trufflesuite.com/ganache to install Ganache.#### Install Truffle
Install truffle npm package globally. Use the following command to install truffle
`$ npm install -g truffle`#### Install Metamask Chrome Extension
Refer to https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en to download the extension.#### Make an account on MongoDB Altas
https://www.mongodb.com/cloud/atlas#### Create an account on Vonage (Previously Nexmo)
https://dashboard.nexmo.com/sign-up## Getting Started
To set up the project, go along with the following steps:-
- Clone the repository.
`$ git clone https://github.com/1209simran/Land-Registry-Application.git`
- Go to the directory with the repository.
`$ cd folder_name`
- Run **npm install** (or **yarn install** if you use yarn) to download the npm packages.
`$ npm install`
- Open Ganache.
- Run **truffle compile** to compile the truffle project.
`$ truffle compile`
- Run **truffle migrate** to deploy the contracts.
`$ truffle migrate`
- Run **npm start** to start the project.
`$ npm start`
- Open another terminal and navigate to the **Server** folder.
`$ cd Server`
- Run **npm install** (or **yarn install** if you use yarn) to download the npm packages.
`$ npm install`
- Navigate to the **backend** folder then to the **Config** folder.
`$ cd backend/Config`
- Change the credentials of **db_config.js** .
- Run the server using this command:-
`$ npm start`
- Open another terminal and execute the following command to add the government registrar detail to the database.
`$ curl -X POST http://localhost:3001/register_govt`
- Credentials for government login:-
Username:- Delhi Government
Password:- Delhi
- You're all done. Enjoy!## Workflow
#### Registration of users and property
- Visit http://localhost:3000/signup to register on the platform. On clicking the submit button, user will be redirected to the login page.
- To login, user must provide their private key.
- To register the property, choose **Register Land** tab from the dashboard and fill all the details related to the property and owner. After submitting the form user's application is then verified by the government authority.#### Validation from government authority
- In this step, government authority audits the user's land details and has the right to approve or decline their application.
- During the time of Registration of land, users have to upload the legal documents of land so that the government and the buyer can verify it. If rejected, the user has to submit a new application, and it cannot be available for other users to buy. And if it gets accepted, then the owner of the land has the option to make their land available to sell.
- There is an amazing feature, as and when Government accepts or rejects the request, a notification will be sent to the user through mail and SMS. NEXMO API and Nodemailer API are used to for sending notifications. Through this user can get the status of their application on their phone and mail and do not have to check the account again and again.#### Transaction between both the parties
This step has several stages involved. There is no intermediary in between, and there is no need for any central authority to verify the transaction process. The owner of land can sell the land as a whole means there is no partial transaction. Following are the steps required:-
- **Making the land available**
Once the Government is approving it, the landowner has the option to make their land available to other users.
- **Sending request to the landowner to purchase**
When the land is available to buy, the buyer moves toward their dashboard, and in the available properties section, they search for the property and send a request to the landowner to buy it.
- **Viewing the request**
Land proprietor views the buyer's requests and after communicating with them, plans whether to allow them to buy the land or not. They have the option to accept or decline the request.
- **Processing the request**
Once the landowner views the requester address and if it founds to be the right one, then the seller accepts the request.
- **Buying the property**
Once the request is approved, the buyer can now buy the property. If approved, then the amount of the property gets deducted from the buyer's account, and the amount is transferred to the land owner's account. They can check their wallet by viewing their profile. After a successful transaction, ownership of the previous landowner from the asset's list will be removed.The whole process is conducted in the form of the smart contract, which ensures that the process is immutable, secured and digitized. No one in between can tamper the data, and authenticity is maintained throughout the process. There is no human error involved. Paperwork will be reduced, and most importantly, everything will become transparent. Chances of fraud cases will get reduced. The public ledger can be used in case there is any doubt regarding the land ownership claim. The documents are digitally signed, which leads to the transfer of land title upon payment in cryptocurrency.
**In case of any query, please feel free to contact me.**