Apartment Rental Dapp Built on Ethereum Blockchain Technology
The application is deployed on the Ropsten network.
Some things to consider for testing:
- The test application does not have frontend validation
- Images and other apartment details are published publicly on IPFS, so only use data you have the rights for
For testing on the test network, the following is recommended:
- Use Mist and switch to the Ropsten Test Network.
- Create multiple accounts for testing
- Get test ether for the accounts from https://faucet.metamask.io/
- Go to couchbc.com and authorize the created accounts for the site
- Create apartments on the blockchain. Please enter and select a proper address for the apartment to later show up in the list
- Switch to a second machine or use a Browser with MetaMask to show the added apartment (MetaMask never exposes more than one account for the site at once, so it's better to use it for testing the tenant side). You CAN also use Mist with a different account, but the rentals page will look a bit messed up in that case, as it will display a rental twice (from the owner's and tenant's perspective).
- Search for the city, select the apartment and request a rental
- Switch to Mist / the first machine and refresh the page
- Accept or deny the rental
- Events have been implemented in the smart contract, but not in the frontend. Therefore you need to reload after a change has occurred to the rentals.
- Mediation is implemented in the smart contract, but not in the frontend.
- Currently, only demo reviews are displayed in the frontend, yet reviews are sent to and retrieved from the blockchain.
To run the app in a local test network (i.e. truffle), you will need the following
- An IPFS server
- npm
- node.js to run IPFS NS
- Truffle or another test network with support for web3 1.0
- A Google Cloud Pub/Sub project
- An infura account for test network deployment
- Create the topics "issue-interaction-key" and "request-interaction-key" on Google Cloud Pub/Sub and follow the configuration
- Adjust constants in the js/constants.js file
- Adjust credentials in the js/credentials.js file
- Adjust configuration and details in package.json
- Run "npm install" in your application folder
- For local test network, run the following in the application folder:
- truffle develop
- migrate --reset
- (In a second console window) node/modules/.bin/webpack
- For ropsten network:
- Set your wallet seed in wallet.js
- Adjust the infura project in truffle.js
- run "truffle deploy --network ropsten"
- Run the IPFS NS server with "node ipfsNs.js"