本项目是一个基于 Hyperledger Fabric 的房地产交易系统,实现了房产登记和交易的业务流程。
系统采用联盟链技术,由不动产登记机构、交易平台和银行三个组织共同维护。
🎓 提供项目教学及问题解答服务,欢迎通过以下方式联系:
![gopher云原生公众号二维码](https://private-user-images.githubusercontent.com/55381228/405146320-ea93572c-6c05-4751-bde7-35a58fe083f1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNDg2NTAsIm5iZiI6MTczOTA0ODM1MCwicGF0aCI6Ii81NTM4MTIyOC80MDUxNDYzMjAtZWE5MzU3MmMtNmMwNS00NzUxLWJkZTctMzVhNThmZTA4M2YxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDIwNTkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVhNmM3MTVjNzcxZGE5YTdiNWQ5NTlhMmFjYWUxMWFiYTA5ZGVhMzAxZWYyOGUzNmIwMDBmMTg3NzhlYTg1MWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.TYTIRSpazlJudWO8M5CjGBP2M0idF5BIcKPOV8NgvH4)
👆 扫码或搜索关注公众号:gopher云原生
- Docker
- Docker Compose
-
拉取项目并设置权限
git clone --depth 1 https://github.com/togettoyou/fabric-realty.git && cd fabric-realty && find . -name "*.sh" -exec chmod +x {} \;
-
一键部署
./install.sh
-
一键卸载
./uninstall.sh
系统包含三个组织身份,每个组织都有独立的操作界面和权限
![1](https://private-user-images.githubusercontent.com/55381228/405500995-185492e0-ac3f-419c-a64f-b17421046bc8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNDg2NTAsIm5iZiI6MTczOTA0ODM1MCwicGF0aCI6Ii81NTM4MTIyOC80MDU1MDA5OTUtMTg1NDkyZTAtYWMzZi00MTljLWE2NGYtYjE3NDIxMDQ2YmM4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDIwNTkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM5N2E2YmQzNzJiNmVhNGYyMzljZDkzODg1Yjk5NDRiY2Q1ZDM1NWRjZTViNDA5Nzg2MTQwMzNkMzhhNTQyMTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.YcUAOsQAoDkSvygdPy5fKyCs2Nr-sK8y0_ENG5ZjwCY)
- 房产登记上链
- 不动产登记机构登录系统
- 点击"登记新房产",填写房产信息
- 提交后,房产信息将上链保存
![2](https://private-user-images.githubusercontent.com/55381228/405501032-e7474b46-f2f5-4561-91db-ed6f27ba858d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNDg2NTAsIm5iZiI6MTczOTA0ODM1MCwicGF0aCI6Ii81NTM4MTIyOC80MDU1MDEwMzItZTc0NzRiNDYtZjJmNS00NTYxLTkxZGItZWQ2ZjI3YmE4NThkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDIwNTkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJjZjVhYzE0NDFhMmVmYTNjZDY1Yjg4ZDI5NmExNGU4YmRhMTc5ZDBjMjc1ZDI4NDMzYzllYmY0ZmRkOTdlMzkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.1B0aK5HmEOSMYKV0vic_SB0Qla419N4EJpVwPOjmj7g)
- 发起房产交易
- 交易平台登录系统
- 点击"生成新交易",填写交易信息
- 提交后,交易信息将上链保存
![3](https://private-user-images.githubusercontent.com/55381228/405501071-c3977cb0-cd48-495a-ab3b-6d244a81b6e0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNDg2NTAsIm5iZiI6MTczOTA0ODM1MCwicGF0aCI6Ii81NTM4MTIyOC80MDU1MDEwNzEtYzM5NzdjYjAtY2Q0OC00OTVhLWFiM2ItNmQyNDRhODFiNmUwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDIwNTkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY0NDEyM2NmMTNhZDY3NWFkN2RmZTA2OWQyZTA5MThmMDRiMWU4MjhhYWI0Zjk3N2Q0MDViYmM5NzU2ZDhjZjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.PNtIaetBhg_cFFvp1rH1IEKMCjyYcjh0QlmcdQcrw5E)
- 银行确认交易
- 银行登录系统
- 核实双方交易信息和资金状态
- 点击"完成交易",完成交易
- 交易完成后,房产所有权将自动变更
![4](https://private-user-images.githubusercontent.com/55381228/405501125-600cc2c2-52e5-4472-9e50-d18cabb27cf2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNDg2NTAsIm5iZiI6MTczOTA0ODM1MCwicGF0aCI6Ii81NTM4MTIyOC80MDU1MDExMjUtNjAwY2MyYzItNTJlNS00NDcyLTllNTAtZDE4Y2FiYjI3Y2YyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDIwNTkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIzZWM2NjU1NzQ0NjQ3MmFlNDAxMmY3NTE0NjZkNjMzOTlhNDRjZmJjMzEzZmVhZDQ5MGQ0MDZjZDVkOWZhYjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.X_3KsGrQ-28_f1vvJFTbXrKJ8ZHJ8dddj83T907X2Do)
- 区块链浏览
- 所有组织都可以查看区块信息
- 确保信息公开透明且不可篡改
![5](https://private-user-images.githubusercontent.com/55381228/405501149-c1e9088a-b9dd-422d-95a1-5534243e471e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNDg2NTAsIm5iZiI6MTczOTA0ODM1MCwicGF0aCI6Ii81NTM4MTIyOC80MDU1MDExNDktYzFlOTA4OGEtYjlkZC00MjJkLTk1YTEtNTUzNDI0M2U0NzFlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDIwNTkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA4NzZiMjdhYjZiMzYxODBiYjllZGVhOGY1MTkwMmY4MDY2M2MwZDJlZTkzNzY4YTFlN2E4NDM4NDgxZWZmN2EmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.G04UK_AkIfPMiNlBH_9tQGtGAtYwNqMtVSHYBEPH9io)
💡 系统特点:
- 基于区块链的分布式账本,确保数据不可篡改
- 基于智能合约的权限控制,确保操作安全可控
- 每个组织只能执行自己权限范围内的操作
- 所有操作都会记录在区块链上,可追溯、可审计
系统由三个组织构成的联盟链网络:
-
不动产登记机构(Org1)
- 负责房产信息的登记
- 维护两个 Peer 节点:peer0.org1 和 peer1.org1
-
银行(Org2)
- 负责交易的完成确认
- 维护两个 Peer 节点:peer0.org2 和 peer1.org2
-
交易平台(Org3)
- 负责生成交易信息
- 维护两个 Peer 节点:peer0.org3 和 peer1.org3
智能合约实现了以下核心功能:
-
房产信息管理
- 创建房产(仅不动产登记机构可操作)
- 查询房产信息
- 分页查询房产列表
-
交易管理
- 生成交易(仅交易平台可操作)
- 完成交易(仅银行可操作)
- 查询交易信息
- 分页查询交易列表
API 接口设计:
/api/realty-agency
POST /realty/create # 创建房产信息
GET /realty/:id # 查询房产信息
GET /realty/list # 分页查询房产列表
- pageSize: 每页记录数
- bookmark: 分页标记
- status: 房产状态(可选,NORMAL-正常、IN_TRANSACTION-交易中)
GET /block/list # 分页查询区块列表
- pageSize: 每页记录数,默认10
- pageNum: 页码,默认1
/api/trading-platform
POST /transaction/create # 生成交易
GET /realty/:id # 查询房产信息
GET /transaction/:txId # 查询交易信息
GET /transaction/list # 分页查询交易列表
- pageSize: 每页记录数
- bookmark: 分页标记
- status: 交易状态(可选,PENDING-待付款、COMPLETED-已完成)
GET /block/list # 分页查询区块列表
- pageSize: 每页记录数,默认10
- pageNum: 页码,默认1
/api/bank
POST /transaction/complete/:txId # 完成交易
GET /transaction/:txId # 查询交易信息
GET /transaction/list # 分页查询交易列表
- pageSize: 每页记录数
- bookmark: 分页标记
- status: 交易状态(可选,PENDING-待付款、COMPLETED-已完成)
GET /block/list # 分页查询区块列表
- pageSize: 每页记录数,默认10
- pageNum: 页码,默认1
- Hyperledger Fabric v2.5.10
- 分布式账本存储房产和交易数据
- 智能合约实现业务逻辑和权限控制
- 多组织(不动产登记机构、银行、交易平台)的联盟链网络
- Gin v1.10.0
- RESTful API 接口框架
- fabric-gateway v1.7.0
- 提供区块链网络交互接口
- 处理链码调用和查询
- fabric-protos-go-apiv2 v0.3.4
- 处理区块链数据的序列化和反序列化
- 提供区块链交互的协议支持
- Vue v3.3.8
- 前端主框架
- 响应式数据处理
- TypeScript v5.0.2
- 类型检查
- 代码提示和重构支持
- Vite v4.5.0
- 开发服务器
- 构建工具
- Ant Design Vue v3.2.20
- UI 组件库
- 提供完整的设计体系