Awesome
Blockchain-Based-Property-Registration
<a href="LICENSE"><img src="https://img.shields.io/static/v1?label=license&message=MIT&color=green"></a>
<img src="https://img.shields.io/badge/Ethereum-20232A?style=for-the-badge&logo=ethereum&logoColor=white">
<img src="https://img.shields.io/badge/Flutter-%2302569B.svg?style=for-the-badge&logo=Flutter&logoColor=white">
Land Registration using Blockchain
Problem it Solves:
- The elimination of middlemen: The elimination of middlemen or brokers makes the process of land registration less expensive. Brokers who try to defraud uninformed people will be unable to do so any longer. Brokers frequently take a long time to finish procedures, thus our project will help people save time.
- A distributed tamper-proof ledger that prohibits ownership fraud.
- IPFS is used to store important property registration papers in a secure manner.
Technology Stack:
- Ethereum Blockchain
- Polygon/Matic
- Web3Dart
- IPFS
- Flutter
- Metamask
Demo
Our Dapp is demonstrated in this video here
Run Application on deployed website
Check out the deployed website here
https://landregistry.live/
This is for demonstration purposes only. With this key, you can log in as Land Inspector:
<pre><b>6b86cddfedbec68ed2a1c7e14b993840a0848595ba5787aec9e8a38b18f0d96a</b></pre>
For user: <pre><b>3ed4aff1a8ff8e28df3cd307112f9166886edcc85a27136908e3b1687b111f89</b></pre>
You can also use your own Ethereum wallet key as a user.
Check new Smart contract At Polygon Testnet: here
Check Smart contract At (discontinued) Ropsten Ethereum Testnet: here
To Run Application Locally
- Clone the github repository and cd to the folder
- Install the flutter 3.0.2, nodejs
- Install ganache and truffle as shown below:
npm install -g truffle
- Open Ganache and keep it running in the Background
- Install the Metamask chrome extension, choose the local network and import the accounts
- Compile and run our migrations from the command line as shown below:
truffle compile
truffle migrate
6 .Copy contract address as seen in the image below and paste in variable contractAddress
located in the file ./lib/constant/constant.dart
<pre>
2_deploy_migration.js
=====================
Replacing 'Land'
----------------
> transaction hash: 0x427b2b402f767ac6a90334ab3c687b086b274de747fe10d6e194743b15057d78
> Blocks: 0 Seconds: 0
<b>>contract address: 0xed690C24C60A48F8A9819c9A15AD75B70CFBEa5a</b>
> block number: 3
> block timestamp: 1650602828
> account: 0x33e94e4619f0AecDf81e9676Eb82c109FBa53356
> balance: 99.9154895
> gas used: 3996227
> gas price: 20 gwei
> value sent: 0 ETH
> total cost: 0.07992454 ETH
</pre>
- In
constant.dart
file, change the value of the variable chainId
to '1337'
and change the value of the variable rpcUrl
to "http://127.0.0.1:7545"
- Run the flutter web app
flutter pub get
flutter run -d web-server --web-port 5555
- Open the browser and the dapp will be running in http://localhost:5555/
- Create mapbox api key from https://www.mapbox.com/ and Replace it with
mapBoxApiKey
in constant.dart
file
Project Flowchart
<img src="screenshots/flowchart.png" height="450">
Screenshots
Home Page | Wallet connect/Login |
---|
<img src="screenshots/Screenshot1.png" height="225"> | <img src="screenshots/Screenshot7.png" height="225"> |
Contract Owner Dashboard | User Registration |
---|
<img src="screenshots/Screenshot10.png" height="225"> | <img src="screenshots/Screenshot12.png" height="225"> |
Land Inspector Dashboard | User Verification |
---|
<img src="screenshots/Screenshot11.png" height="225"> | <img src="screenshots/Screenshot5.png" height="225"> |
User Dashboard | Adding land on Map |
---|
<img src="screenshots/Screenshot2.png" height="225"> | <img src="screenshots/Screenshot8.png" height="225"> |
Land Gallery | Land Details |
---|
<img src="screenshots/Screenshot3.png" height="225"> | <img src="screenshots/Screenshot9.png" height="225"> |
Received Request | Make Payment |
---|
<img src="screenshots/Screenshot6.png" height="225"> | <img src="screenshots/Screenshot4.png" height="225"> |
Transfer ownership,Seller,buyer photo capture | Witness info,photo capture,transfer ownership |
---|
<img src="screenshots/Screenshot14.png" height="225"> | <img src="screenshots/Screenshot13.png" height="225"> |