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

news2024/11/24 15:11:02

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

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

概述

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

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

相关文章

第二节:反相器、与非门Verilog实现

1.反相器 module inv(A,Y);//A,Y是我的端口 input A;//定义属性 output Y; assign Y ~A;//定义输入输出关系 endmodule //testbench of inv timescale 1ns/10ps//1ns是时间单位,10ps为精度 module inv_tb; reg a; wire y; inv inv(.A(a),.Y(y)); initial begin a…

图片批量高效管理,轻松调整图片着色,让图片瞬间焕发新生!

在数字化时代,图片成为了我们生活与工作中不可或缺的一部分。然而,面对海量的图片资源,如何高效、便捷地管理并调整它们的着色,成为了许多人的挑战。现在,我们为您带来了一款全新的图片批量管理工具,让您轻…

【计算机系统基础读书笔记】1.1.2 冯诺依曼机基本结构

1.1.2 冯诺依曼机基本结构 冯诺依曼机基本结构如图所示: 模型机中主要包括: 主存储器:用来存放指令和数据,简称主存或内存; 算数逻辑部件(Arithmetic Logic Unit,简称ALU)&#x…

【数据结构】链表的中间节点

给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 Definition for singly-linked list.struct ListNode {int val;struct ListNode *next;};typedef struct ListNode ListNode; struct ListNode…

Apache RocketMQ ACL 2.0 全新升级

作者:徒钟 引言 RocketMQ 作为一款流行的分布式消息中间件,被广泛应用于各种大型分布式系统和微服务中,承担着异步通信、系统解耦、削峰填谷和消息通知等重要的角色。随着技术的演进和业务规模的扩大,安全相关的挑战日益突出&am…

python批量删除文件

python批量删除文件 1、查询与删除2、添加模块到地址中3、批量删除多个路径中不需要导出的文件 1、查询与删除 mport osdef get_files_in_folder(folder_path):files []for file in os.listdir(folder_path):if os.path.isfile(os.path.join(folder_path, file)):files.appen…

【Leetcode】vector刷题

🔥个人主页:Quitecoder 🔥专栏:Leetcode刷题 目录 1.只出现一次的数字2.杨辉三角3.删除有序数组中的重复项4.只出现一次的数字II5.只出现一次的数字III6.电话号码的字母组合 1.只出现一次的数字 题目链接:136.只出现一…

微信小程序自定义导航栏定位及胶囊按钮图解

在自定义小程序导航栏时,右上角的胶囊(MenuButton)在不同机型测试,会发现很难适配。 实测中 不同的手机,胶囊高度不一样、状态栏高度不一样。与模拟器显示的情况是不一样的。 由于小程序在不同的手机上顶部布局会发生…

C语言 | Leetcode C语言题解之第44题通配符匹配

题目&#xff1a; 题解&#xff1a; bool allStars(char* str, int left, int right) {for (int i left; i < right; i) {if (str[i] ! *) {return false;}}return true; } bool charMatch(char u, char v) { return u v || v ?; };bool isMatch(char* s, char* p) {in…

以太网口硬件知识分享

一、了解网口通信基本原理 实现网络通信实质上是PHY与MAC及RJ45接口实现信号传输。MAC 就是以太网控制器&#xff0c;MAC属于数据链路层&#xff0c;主要负责把数据封装成帧&#xff0c;对帧进行界定实现帧同步。对MAC地址和源MAC地址及逆行相应的处理并对错误帧进行处理。PHY…

To String的几个作用

To String的几个作用 一、Object类中toString的作用 1、在主方法中我们可以直接用toString输出对象其中的内容 2、我们需要直接输出对象中所属内容时&#xff0c;直接使用toString方法输出语句&#xff0c;输出内容不友好&#xff0c;不便于阅读 子类&#xff1a; public c…

机器学习-保险花销预测笔记+代码

读取数据 import numpy as np import pandas as pddatapd.read_csv(rD:\人工智能\python视频\机器学习\5--机器学习-线性回归\5--Lasso回归_Ridge回归_多项式回归\insurance.csv,sep,) data.head(n6) EDA 数据探索 import matplotlib.pyplot as plt %matplotlib inlineplt.hi…

Python实现飞机大战

提供学习或者毕业设计使用&#xff0c;功能基本都有&#xff0c;不能和市场上正式游戏相提比论&#xff0c;请理性对待&#xff01; 本博文将开启免费试读&#xff0c;如有您需要完整源码或者素材材料等&#xff0c;请订阅本专栏或者找博主购买&#xff01;购买后将提供源码文件…

太速科技-基于6 U VPX M.2 高带宽加固存储板

基于6 U VPX M.2 高带宽加固存储板 一、板卡概述 基于6 U VPX M.2 高带宽加固存储板&#xff0c;可以实现VPX接口的数据读写到PCI-E总线的NVME存储媒介上。采用PLX8732&#xff0c;上行链路提供带宽x16的PCI-E数据到VPX接口上&#xff1b;下行链路提供3路带宽x4的PCI-E接口…

【CSS】使用 scroll snap 实现页面的垂直大屏滚动

CSS 属性 scroll-snap-type 设置了在有滚动容器的情形下吸附至吸附点的严格程度。 scroll-snap-type 使用 scroll snap 也可以用于垂直滚动&#xff0c;全屏展示就是一个很好的例子: <main><section class"section section-1"></section><sect…

MATLAB - 机器人动力学 - 质心(Center of Mass)

系列文章目录 前言 一、用法 com centerOfMass(robot) com centerOfMass(robot,configuration) [com,comJac] centerOfMass(robot,configuration) 二、说明 com centerOfMass(robot) 计算机器人模型在原点构型处相对于基础坐标系的质心位置。com centerOfMass(robot,conf…

Linux下载及安装OpenSSL

文章目录 前言一、OpenSSL下载二、OpenSSL安装1.上传下载好的安装包到服务器2.解压3.切换目录4.配置config5.编译6.安装7.备份旧版本OpenSSL7.创建软链接8.添加OpenSSL动态链接库9.更新库缓存10.查看OpenSSL版本验证安装是否成功 前言 一般系统会自带有OpenSSL&#xff0c;我们…

用Python绘制了几张有趣的可视化图表

流程图存在于我们生活的方方面面&#xff0c;对于我们追踪项目的进展&#xff0c;做出各种事情的决策都有着巨大的帮助&#xff0c;而对于的Python而言呢&#xff0c;绘制流程图也是十分轻松的&#xff0c;今天小编就来为大家介绍两个用于绘制流程图的模块&#xff0c;我们先来…

CogVLM CogAgent模型部署

CogVLM & CogAgent 下载地址 CogVLM & CogAgent 的 Github 官方仓库&#xff1a;https://github.com/THUDM/CogVLM CogVLM & CogAge…

安卓NetworkStatsManager使用及demo

目录 一、TrafficStats类简介二、demo示例 一、TrafficStats类简介 TrafficStats Android API 8提供了android.net.TrafficStats类。 通过此类能获取设备重启以来网络信息&#xff0c;部分函数如下所示&#xff1a; static long getMobileRxBytes() //获取通过移动数据网络…