六天以太坊去中心化租房平台,前端+合约源码

六天以太坊去中心化租房平台

  • 概述
  • 项目结构
  • 合约部署
  • 运行项目
  • 功能介绍
    • 一、首页
    • 二、房东后台
      • 我的房屋
      • 我的订单
      • 上架新房屋
    • 三、租户后台
      • 我的房屋
      • 我的订单
    • 四、仲裁后台
  • 下载地址

概述

六天区块链房屋租赁系统,采用去中心化的方式实现了房屋的租赁功能。房东可在平台上托管房屋,租客可在平台上预订房东的房屋并支付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文件中。

image.png

注意:如果对合约有修改,请将编译后的abi文件更新到contracts目录下的Rental.sol文件中。

运行项目

项目使用Vue开发,前置安装软件:

  • node,版本>= 6.0.0
  • npm,版本>= 3.0.0
# 安装依赖
npm install# 启动服务,访问地址: localhost:8080
npm run dev# 编译服务
npm run build

功能介绍

一、首页

在首页里,用户可以根据地域筛选房源,也可以根据价格筛选。如下图所示。

image.png
点击房屋后可进入到房屋的预订页面。预订时,需要缴纳对应的费用。
image.png

二、房东后台

房东后台有“我的房屋”、“我的订单”、“上架新房屋”三个模块。

我的房屋

上架的访问都在我的房屋中展示。
image.png

我的订单

已出租的订单都在我的订单中展示。

image.png
租客预订后,房东需要在我的订单中进行确认,可以“拒绝“,也可以”接受“。接受后订单生效。
在仲裁期过了后,房东可以“提取房租”,在仲裁期内,如果有争议,可以”申请仲裁“。

上架新房屋

上架新房屋可以缴纳保证金,以此来证明房源的可靠性。房屋下架后保障金会返回给房东。

image.png

三、租户后台

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

我的房屋

image.png

我的订单

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

四、仲裁后台

只有合约的拥有者才能仲裁。

下载地址

https://learnblockchain.cn/goods/64

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4042.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 2024 常见多线程20道面试题

Java 2024 常见多线程20道面试题 简介: 线程是一种轻量级进程,用于实现并发编程。它是操作系统进行调度的基本单位,可以独立运行并共享进程资源。线程能够提高程序的并发性和响应速度,并节约系统资源,因此在多任务和并…

C++ Primer Plus

第一章 初始C #include <iostream> //#:预处理int main(void) //void:无参数 {using namespace std;int carrots; //定义声明语句:开辟内存空间&#xff0c; int:整型 cout << "how many corrots do you have?" << endl; //cout:输出流(out) end…

PDF 书签制作与调整 从可编辑、不可编辑 PDF 文档创建书签的方法

本文是对以前发表的旧文拆分&#xff0c;因为原文主题太多&#xff0c;过长&#xff0c;特另起一篇分述。 第一部分 由可编辑 PDF 文档创建书签 方法 1. Adobe Acrobat Pro autobookmark AutoBookmark 是一个可用于 Adobe Acrobat 自动生成书签的插件。 官方下载地址&…

【MySQL】select查询

1. 基本的SELECT语句 1.1 SELECT ... FROM SELECT 标识选择哪些列FROM 标识从哪个表中选择例&#xff1a;SELECT * FROM student; #使用通配符&#xff0c;*表示返回所有的列例&#xff1a;SELECT id,name,guardian_phone FROM student; #具体行和列 1.2 列的别名 …

外贸财务挑战面面观:应对难题之道大揭秘!

出海也开始卷起来了。越来越多的中国企业投身海外市场&#xff0c;寻求更广阔的发展空间。然而&#xff0c;出海之路并非坦途&#xff0c;企业既需把握全球商机&#xff0c;又需应对数字化转型、本土化运营、文化差异性等多重挑战。企业出海&#xff0c;该如何应对这些风浪&…

【数据结构与算法设计】上机课习题四

第四章作业 一、选择题1,2,3,4,5 1.串是一种特殊的线性表&#xff0c;其特殊性体现在&#xff08;B&#xff09; A.可以顺序存储 B.数据元素是一个字符 C.可以链式存储 D.数据元素可以是多个字 2.设有两个串p和q&#xff0c;求q在p中首次出现的位置的运算称为&#xff08;B&a…

phpstudy-Ubuntu面板(小皮面板)

Ubuntu安装脚本 :(无docker版本) wget -O install.sh https://notdocker.xp.cn/install.sh && sudo bash install.sh Ubuntu安装脚本 :(有docker版本) wget -O install.sh https://download.xp.cn/install.sh && sudo bash install.sh 参考&#xff1a;linux 完…

MB6F-ASEMI新能源专用整流桥MB6F

编辑&#xff1a;ll MB6F-ASEMI新能源专用整流桥MB6F 型号&#xff1a;MB6F 品牌&#xff1a;ASEMI 封装&#xff1a;MBF-4 最大重复峰值反向电压&#xff1a;600V 最大正向平均整流电流(Vdss)&#xff1a;1A 功率(Pd)&#xff1a;小功率 芯片个数&#xff1a;4 引脚数…

内网渗透1

&#xff08;1&#xff09;&#xff1a;问题1 windows登录的明文密码如何存储&#xff0c;存储过程是怎么样的&#xff0c;密文存在哪个文件下&#xff0c;该文件是否可以打开并查看到密文&#xff1f; 在windows的登录框中输入账号密码&#xff0c;这个登录是有一个进程的叫做…

.net6 webapi 部署到IIS

一、发布.net6 webapi 项目 1.1 visual studio 2022右键发布到文件夹。 二、增加IIS容器 2.1 控制面板 2.2 启用或关闭Windows功能 3.3 勾选Internet Information Services,点击确定进行安装 三、部署webapi到IIS 3.1 安装 dotnet-hosting-6.0.29-win.exe 3.2 创建应用…

详细解析什么是期权交易的获利方法

期权交易的获利方法 在期权交易之前进行充分的准备工作和风险评估是至关重要的。其中行情结构、策略方法、预期收益和风险评估&#xff0c;是期权交易成功的关键要素。它们能帮助我们更好地制定交易计划&#xff0c;控制风险&#xff0c;并追求稳定的利润。以下是对这四点的详…

wifi可以连接但是上不了网该怎么解决?

上网的过程中&#xff0c;我们有时候会遇到wifi可以连接但是上不了网的情况&#xff0c;打开电脑浏览器&#xff0c;显示域名解析错误。遇到这种情况&#xff0c;一般说明IP与站点的解析过程出现了错误。 在网络中的主机都是IP地址来标识的&#xff0c;如果在浏览器输入此IP地…

HR常用的人才测评工具都有哪些?

随着近年来&#xff0c;人才测评工具的普及&#xff0c;已经有许多企业从中获益&#xff0c;在线人才测评成为先进招聘方式之一。一般来说&#xff0c;人们口中的人才测评工具&#xff0c;实际上并不是各种精密的仪器&#xff0c;而是由心理学系统构成的测试理论。使用这些工具…

【数据结构】三、栈和队列:3.链栈(链栈栈的初始化,判空,进栈,出栈,读取栈顶,链栈实例)

文章目录 3.链栈3.1初始化3.2判空3.3获取栈长度3.4入栈3.5出栈3.6销毁链栈3.7读取栈顶3.8遍历输出❗3.9链栈c实例 3.链栈 链栈是运算受限的单链表&#xff0c;只能在链表头部进行操作的单链表。 链表的头指针就是栈顶&#xff0c;链头为栈顶&#xff0c;链尾为栈底。栈的链式…

BUUCTF--web(1)

1、[极客大挑战 2019]Http1 1.http报文请求&#xff1a; 1、请求行&#xff1a; 第一部分是请求方法&#xff0c;常见包括GET、POST、OPTIONS&#xff08;我目前还没有见过我是菜鸡&#xff09; 第二部分是url 第三部分是HTTP协议(http(Hypertext transfer protocol)超文本传…

打造智能语音机器人-用语音控制机器人

人工智能现已成为国家发展重大战略&#xff0c;智能语音技术作为人工智能产业链上的关键一环&#xff0c;AI应用成熟的技术之一&#xff0c;人工智能的发展也进入了一个崭新的阶段。那么打造智能语音机器人怎样实现用语音控制机器人呢&#xff1f;和小编一起来看看。 选择合适的…

hbase MultiRowRangeFilter的原理、作用和实例

MultiRowRangeFilter是HBase中的一个过滤器&#xff0c;用于在扫描操作中过滤多个行键范围 原理 MultiRowRangeFilter的原理是将多个行键范围组合成一个过滤器&#xff0c;然后在扫描操作中应用这个过滤器。当扫描器遍历HBase表的行时&#xff0c;它会检查每一行的行键是否在…

大话人工智能之(一)深度学习概念

一.机器学习 机器学习是人工智能的一个分支&#xff0c;它是通过计算的手段&#xff0c;通过大数据所产生的经验来改善计算的性能。与传统的人工向机器输入知识的操作不同&#xff0c;机器学习是从大数据中获取经验&#xff0c;通过指定的算法自身从经验中学习到所需的知识&…

jmeter之连接MySQL数据库

jmeter连接mysql数据库 mysql官网下载地址&#xff1a;MySQL :: Download Connector/J 步骤如下&#xff1a; 1、下载mysql的jar包放入到jmeter的lib/ext下&#xff0c;然后重启jmeter 链接: https://pan.baidu.com/s/1rRrMQKnEuKz8zOUfMdMHFg?pwdawfc 提取码: awfc 2、配置…

备份方式分类

备份方式是确保数据安全和业务连续性的重要措施&#xff0c;主要包括以下几种类型&#xff1a; 完全备份&#xff08;Full Backup&#xff09;&#xff1a;这是最简单的备份方式&#xff0c;它会复制所有选定的数据和系统文件。完全备份提供最全面的恢复点&#xff0c;但占用的…