GithubHelp home page GithubHelp logo

wuchunfu / blockchain-real-estate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from togettoyou/fabric-realty

0.0 1.0 0.0 273.39 MB

🚀 基于区块链的房地产交易系统模型。提供销售和捐赠功能。本项目使用Hyperledger Fabric构建区块链网络, go编写智能合约,应用层使用gin+fabric-sdk-go调用合约。前端展示使用vue+element。前后端分离。

License: MIT License

Go 43.53% Shell 2.76% JavaScript 14.98% Vue 34.36% HTML 0.31% SCSS 3.71% Dockerfile 0.34%

blockchain-real-estate's Introduction

🚀 本项目使用 Hyperledger Fabric 构建底层区块链网络, go 编写智能合约,应用层使用 gin+fabric-sdk-go ,前端使用 vue+element-ui

如果想要联系我,可以关注我的公众号【gopher云原生】

gopher云原生

教程

万字长文,教你用go开发区块链应用

🤔 有任何疑问,请先看完本篇文章。本项目涉及的知识点都有在文章中进行说明

环境要求

安装了 Docker 和 Docker Compose 的 Linux 或 Mac OS 环境

附 Linux Docker 安装教程:点此跳转

🤔 Docker 和 Docker Compose 需要先自行学习。本项目的区块链网络搭建、链码部署、前后端编译/部署都是使用 Docker 和 Docker Compose 完成的。

部署

  1. 克隆本项目放在任意目录下,例:/root/fabric-realty

  2. 给予项目权限,执行 sudo chmod -R +x /root/fabric-realty/

  3. 进入 network 目录,执行 ./start.sh 启动区块链网络以及部署智能合约

  4. 进入 application 目录,执行 ./start.sh 启动前后端应用,最后可使用浏览器访问 http://localhost:8000 ,其中后端接口地址为 http://localhost:8888

  5. (可选)进入 network/explorer 目录,执行 ./start.sh 启动区块链浏览器后,访问 http://localhost:8080,用户名 admin,密码 123456

停止或重启

注意,network 下默认执行 ./start.sh 脚本时都会调用 ./stop.sh ,所以部署成功后,如果想持久化数据的情况下停止或重启本项目,请不要在 network 下再次执行 ./start.sh ,正确姿势参考:

  1. (如果启动了区块链浏览器)进入 network/explorer 目录,执行 docker-compose stop 停止区块链浏览器,执行 docker-compose start 启动区块链浏览器,执行 docker-compose restart 重启区块链浏览器

  2. 进入 network 目录,执行 docker-compose stop 停止区块链网络,执行 docker-compose start 启动区块链网络,执行 docker-compose restart 重启区块链网络

  3. 进入 application 目录,区块链应用是无状态的,可以直接执行 ./stop.sh 停止区块链前后端应用,执行 ./start.sh 启动区块链前后端应用

完全清理环境

注意,该操作会将所有数据清空。按照该顺序:

  1. (如果启动了区块链浏览器)进入 network/explorer 目录,执行 ./stop.sh 关闭区块链浏览器

  2. 进入 network 目录,执行 ./stop.sh 关闭区块链网络并清理链码容器

  3. 进入 application 目录,执行 ./stop.sh 关闭区块链应用

目录结构

  • application/server : fabric-sdk-go 调用链码(即智能合约),gin 提供外部访问接口(RESTful API)

  • application/web : vue + element-ui 提供前端展示页面

  • chaincode : go 编写的链码(即智能合约)

  • network : Hyperledger Fabric 区块链网络配置

功能流程

管理员为用户业主创建房地产。

业主查看名下房产信息。

业主发起销售,所有人都可查看销售列表,购买者购买后进行扣款操作,并等待业主确认收款,交易完成后,更新房产持有人。在有效期期间可以随时取消交易,有效期到期后自动关闭交易。

业主发起捐赠,指定受赠人,受赠人确认接收受赠前,双方可取消捐赠/受赠。

演示效果

login

addreal

info

explorer

喝杯奶茶

微信打赏 支付宝打赏
微信 支付宝

blockchain-real-estate's People

Contributors

fmy1993 avatar perfectli7 avatar togettoyou avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.