概述
六天区块链房屋租赁系统,采用去中心化的方式实现了房屋的租赁功能。房东可在平台上托管房屋,租客可在平台上预订房东的房屋并支付ETH为房租。在争议期内,房东或租客都可提出争议,由平台处理。争议期后,房东可提取房租ETH到自己的账户地址下。
项目结构
├── config 配置文件目录
├── src 代码目录
│ ├── assets 平台图片目录
│ ├── blockchain 与以太坊交互相关
| └── Wallet.js 与metamask钱包交互
| └── Eth.js 与合约交互
│ ├── components 组件目录
│ ├── contracts 租房合约目录
│ ├── router 路由
│ ├── store 存储
│ ├── utils 公共方法文件
│ ├── views 展示层
| └── arbitrator 仲裁
| └── home 首页
| └── landlord 房东
| └── tanant 租客
合约部署
租房合约在contracts目录下,其中:
- Owner.sol 为权限合约
- Strings.sol 为字符串处理合约
- Rental.sol 为租房主合约
可以使用truffle进行部署,也可以直接在Remix上进行调试和部署。
编译器版本建议使用:soljson-v0.8.10
本人开发时,使用的是Ganache搭建的以太坊网络,在Metamask钱包中,配置了本地网络,在Remix中链接Metamask钱包,部署合约。
合约部署成功后,需要将合约地址更新到config目录下的user.env.js文件中。

注意:如果对合约有修改,请将编译后的abi文件更新到contracts目录下的Rental.sol文件中。
运行项目
项目使用Vue开发,前置安装软件:
- node,版本>= 6.0.0
- npm,版本>= 3.0.0
# 安装依赖
npm install
# 启动服务,访问地址: localhost:8080
npm run dev
# 编译服务
npm run build
功能介绍
一、首页
在首页里,用户可以根据地域筛选房源,也可以根据价格筛选。如下图所示。
点击房屋后可进入到房屋的预订页面。预订时,需要缴纳对应的费用。

二、房东后台
房东后台有“我的房屋”、“我的订单”、“上架新房屋”三个模块。
我的房屋
上架的访问都在我的房屋中展示。

我的订单
已出租的订单都在我的订单中展示。
租客预订后,房东需要在我的订单中进行确认,可以“拒绝“,也可以”接受“。接受后订单生效。
在仲裁期过了后,房东可以“提取房租”,在仲裁期内,如果有争议,可以”申请仲裁“。
上架新房屋
上架新房屋可以缴纳保证金,以此来证明房源的可靠性。房屋下架后保障金会返回给房东。

三、租户后台
租户后台有“我的房屋”和“我的订单”两个模块。
我的房屋

我的订单
在我的订单里可以取消预订,如果已预订,并且在仲裁期内,可以申请仲裁。

四、仲裁后台
只有合约的拥有者才能仲裁。
联系我
