概述
六天區(qū)塊鏈房屋租賃系統(tǒng)杰赛,采用去中心化的方式實(shí)現(xiàn)了房屋的租賃功能。房東可在平臺(tái)上托管房屋矮台,租客可在平臺(tái)上預(yù)訂房東的房屋并支付ETH為房租乏屯。在爭(zhēng)議期內(nèi),房東或租客都可提出爭(zhēng)議瘦赫,由平臺(tái)處理辰晕。爭(zhēng)議期后,房東可提取房租ETH到自己的賬戶地址下确虱。
項(xiàng)目結(jié)構(gòu)
├── config 配置文件目錄
├── src 代碼目錄
│ ├── assets 平臺(tái)圖片目錄
│ ├── blockchain 與以太坊交互相關(guān)
| └── Wallet.js 與metamask錢包交互
| └── Eth.js 與合約交互
│ ├── components 組件目錄
│ ├── contracts 租房合約目錄
│ ├── router 路由
│ ├── store 存儲(chǔ)
│ ├── utils 公共方法文件
│ ├── views 展示層
| └── arbitrator 仲裁
| └── home 首頁(yè)
| └── landlord 房東
| └── tanant 租客
合約部署
租房合約在contracts目錄下含友,其中:
- Owner.sol 為權(quán)限合約
- Strings.sol 為字符串處理合約
- Rental.sol 為租房主合約
可以使用truffle進(jìn)行部署,也可以直接在Remix上進(jìn)行調(diào)試和部署。
編譯器版本建議使用:soljson-v0.8.10
本人開發(fā)時(shí)窘问,使用的是Ganache搭建的以太坊網(wǎng)絡(luò)辆童,在Metamask錢包中,配置了本地網(wǎng)絡(luò)惠赫,在Remix中鏈接Metamask錢包把鉴,部署合約。
合約部署成功后汉形,需要將合約地址更新到config目錄下的user.env.js文件中纸镊。
注意:如果對(duì)合約有修改倍阐,請(qǐng)將編譯后的abi文件更新到contracts目錄下的Rental.sol文件中概疆。
運(yùn)行項(xiàng)目
項(xiàng)目使用Vue開發(fā),前置安裝軟件:
- node峰搪,版本>= 6.0.0
- npm岔冀,版本>= 3.0.0
# 安裝依賴
npm install
# 啟動(dòng)服務(wù),訪問(wèn)地址: localhost:8080
npm run dev
# 編譯服務(wù)
npm run build
功能介紹
一概耻、首頁(yè)
在首頁(yè)里使套,用戶可以根據(jù)地域篩選房源,也可以根據(jù)價(jià)格篩選鞠柄。如下圖所示侦高。
點(diǎn)擊房屋后可進(jìn)入到房屋的預(yù)訂頁(yè)面。預(yù)訂時(shí)厌杜,需要繳納對(duì)應(yīng)的費(fèi)用奉呛。
二、房東后臺(tái)
房東后臺(tái)有“我的房屋”夯尽、“我的訂單”瞧壮、“上架新房屋”三個(gè)模塊。
我的房屋
上架的訪問(wèn)都在我的房屋中展示匙握。
我的訂單
已出租的訂單都在我的訂單中展示咆槽。
租客預(yù)訂后,房東需要在我的訂單中進(jìn)行確認(rèn)圈纺,可以“拒絕“秦忿,也可以”接受“。接受后訂單生效蛾娶。
在仲裁期過(guò)了后灯谣,房東可以“提取房租”,在仲裁期內(nèi)茫叭,如果有爭(zhēng)議酬屉,可以”申請(qǐng)仲裁“。
上架新房屋
上架新房屋可以繳納保證金,以此來(lái)證明房源的可靠性呐萨。房屋下架后保障金會(huì)返回給房東杀饵。
三、租戶后臺(tái)
租戶后臺(tái)有“我的房屋”和“我的訂單”兩個(gè)模塊谬擦。
我的房屋
我的訂單
在我的訂單里可以取消預(yù)訂切距,如果已預(yù)訂,并且在仲裁期內(nèi)惨远,可以申請(qǐng)仲裁谜悟。
四、仲裁后臺(tái)
只有合約的擁有者才能仲裁北秽。