One of the biggest challenges in buying/selling real estate, especially in second and third world counties, is the legal process of checking the property's title. The percentage of frauds that happen in that domain are enormous(upwards of 50%) and expensive. A person would have to hire a lawyer and wait for 1-2 months until the legal check is done and even then there is no gurantee that the title is clear.
Title records are decentralized, challenging-to-access aspect of the real estate buying/selling process. Even in 2017, title information remains stored at the local level and is offline. With the blockchain, this can be changed. The blockchain could provide a central title database for the entire country to securely store and instantly access historical title records, allowing for the streamlining of title transfer in a property sale.
- Property details need to be tracked, de-centralized and accessable to buyer/seller.
- Hyper Ledger Fabric will provide - Identity management, Privacy and confidentiality, Efficient processing, Chaincode functionalities, Modular design
- Create a front-end app/web portal where buyer/seller can search for properties and view all of its title details
- Back-end node server will handle requests for transactions and write to decentralized ledger
Usage (currently runs locally and is tedius, will be moved to AWS/Bluemix and dockerized eventually)
- Docker
- Node (npm)
- nvm (version 8)
- Composer-rest-server (npm install -g composer-rest-server)
- Composer-cli (npm install -g composer-cli)
- Java 8
- Kafka 2.1.1-1.1.0
- Start Docker
- Run below command in terminal
nvm use 8
- Inside hyperledger/fabric-dev-server/ run the following:
./downloadFabric.sh (Only for thr first time . Next time hyperledger needs to be started, this step should be skipped)
./startFabric.sh
./createPeerAdminCard.sh (Needs to be done only first time. Not sure need to check on this)
- Go back one level to hyperledger/ and run the following:
composer network install --archiveFile digital-property.bna --card PeerAdmin@hlfv1
composer network start --networkName digital-property --networkVersion 0.2.6 --card PeerAdmin@hlfv1 --networkAdmin admin --networkAdminEnrollSecret adminpw
composer card import --file admin@digital-property.card (Needs to be done only first time. Not sure need to check on this)
composer-rest-server -c admin@digital-property -p 4000
- Inside kafka2.1.1-1.1.0/ folder: Terminal 1:
bin/zookeeper-server-start.sh config/zookeeper.properties
- Inside kafka2.1.1-1.1.0/ folder:Terminal 2:
bin/kafka-server-start.sh config/server.properties
- Inside kafka2.1.1-1.1.0/ folder:Terminal 3: (need to run only each time device restarts)
./topic.sh
- Inside Backend/ Terminal 4:
npm install
node index.js
- Inside kafka-backend/ Terminal 5:
npm install
npm start
- Inside Fronend/ Terminal 6:
npm install
npm start