本项目是一个基于 Hyperledger Fabric 的房地产交易系统,实现了房产登记和交易的业务流程。
系统采用联盟链技术,由不动产登记机构、交易平台和银行三个组织共同维护。
🎓 提供项目教学及问题解答服务,欢迎通过以下方式联系:
![gopher云原生公众号二维码](https://private-user-images.githubusercontent.com/55381228/405146320-ea93572c-6c05-4751-bde7-35a58fe083f1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4NDk1OTcsIm5iZiI6MTczOTg0OTI5NywicGF0aCI6Ii81NTM4MTIyOC80MDUxNDYzMjAtZWE5MzU3MmMtNmMwNS00NzUxLWJkZTctMzVhNThmZTA4M2YxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE4VDAzMjgxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc3MDQ1MTUyNDQ2MzhhNzdhOTQ4NTY1YzJmNzA2OGM1ZWZmZGVlOTU0ZDA0NTdmMjA2Yzk3NTJiNDI4MjA1MGUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.dhTCSEM_bPiNADtNwgXpMv7gOTYJRBInCzwyhnDidtY)
👆 扫码或搜索关注公众号: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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4NDk1OTcsIm5iZiI6MTczOTg0OTI5NywicGF0aCI6Ii81NTM4MTIyOC80MDU1MDA5OTUtMTg1NDkyZTAtYWMzZi00MTljLWE2NGYtYjE3NDIxMDQ2YmM4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE4VDAzMjgxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIxOWQwYzhmOTFmNDQzODUxZjU3ODQ0YzZlM2Y2NzY2MTViMDAwM2NiMGY5NDk2YWQ5YWZjYTA1OWM1ZDc3ODUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.nKdyTbIytlgkFcxK7inr0XyJlmihoUpBV9kNNiUNYvw)
- 房产登记上链
- 不动产登记机构登录系统
- 点击"登记新房产",填写房产信息
- 提交后,房产信息将上链保存
![2](https://private-user-images.githubusercontent.com/55381228/405501032-e7474b46-f2f5-4561-91db-ed6f27ba858d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4NDk1OTcsIm5iZiI6MTczOTg0OTI5NywicGF0aCI6Ii81NTM4MTIyOC80MDU1MDEwMzItZTc0NzRiNDYtZjJmNS00NTYxLTkxZGItZWQ2ZjI3YmE4NThkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE4VDAzMjgxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRjY2Y5MTdhMGZjOTMxNWYzODRhMjhmNDhmN2ZiZTZlYzEzNjIzNzYwMTQxNDMwODg1Yzk2YmE1OTFiNTNkNjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.RV9S4sEtFs45k5XfjkXUH0tZkfiOo8X7HGUePPrHNPE)
- 发起房产交易
- 交易平台登录系统
- 点击"生成新交易",填写交易信息
- 提交后,交易信息将上链保存
![3](https://private-user-images.githubusercontent.com/55381228/405501071-c3977cb0-cd48-495a-ab3b-6d244a81b6e0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4NDk1OTcsIm5iZiI6MTczOTg0OTI5NywicGF0aCI6Ii81NTM4MTIyOC80MDU1MDEwNzEtYzM5NzdjYjAtY2Q0OC00OTVhLWFiM2ItNmQyNDRhODFiNmUwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE4VDAzMjgxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJmZTI2MmZjZTYwN2U4YmQyNmUwM2I3Zjc5MGVmMjQ0MzgyMTMyZWNiYmZjZGE0ODFiNmY0Mzg5OTQyZDc4ODgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.PDNjQvx3QfIYoFja1ja5uTjTp7MVU96sIKJ_S3sU-ek)
- 银行确认交易
- 银行登录系统
- 核实双方交易信息和资金状态
- 点击"完成交易",完成交易
- 交易完成后,房产所有权将自动变更
![4](https://private-user-images.githubusercontent.com/55381228/405501125-600cc2c2-52e5-4472-9e50-d18cabb27cf2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4NDk1OTcsIm5iZiI6MTczOTg0OTI5NywicGF0aCI6Ii81NTM4MTIyOC80MDU1MDExMjUtNjAwY2MyYzItNTJlNS00NDcyLTllNTAtZDE4Y2FiYjI3Y2YyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE4VDAzMjgxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY4ZTIxMjMzN2JkOTY0NjE5ZTE5YWZkNWQ5YTU4ZjhkMzAxMmQzNDY0YzZiNjdkOGE2MjI5MTc2NjkwYTI5YWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.UWYJOGkkeWtP7EUvSsEezNbmyykUpiREvH1S2H0O260)
- 区块链浏览
- 所有组织都可以查看区块信息
- 确保信息公开透明且不可篡改
![5](https://private-user-images.githubusercontent.com/55381228/405501149-c1e9088a-b9dd-422d-95a1-5534243e471e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4NDk1OTcsIm5iZiI6MTczOTg0OTI5NywicGF0aCI6Ii81NTM4MTIyOC80MDU1MDExNDktYzFlOTA4OGEtYjlkZC00MjJkLTk1YTEtNTUzNDI0M2U0NzFlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE4VDAzMjgxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIyN2NhMWI2ZDA0MDg5MmI0MWFmYjRkYTI0NTk0NzcyOTlhZDRlZjZmODIyMzVmNDkzN2I3NzNiNmE5YmQ3YTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.kgU7DciFTFCc9b_x-C78TxKt0oYWTEBrYW02VB-x3M0)
💡 系统特点:
- 基于区块链的分布式账本,确保数据不可篡改
- 基于智能合约的权限控制,确保操作安全可控
- 每个组织只能执行自己权限范围内的操作
- 所有操作都会记录在区块链上,可追溯、可审计
系统由三个组织构成的联盟链网络:
-
不动产登记机构(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 组件库
- 提供完整的设计体系