🚀 本项目使用 Hyperledger Fabric 构建底层区块链网络, go 编写智能合约,应用层使用 gin+fabric-sdk-go ,前端使用 vue+element-ui
如果想要联系我,可以关注我的公众号【SuperGopher】
教程
环境要求
安装了 Docker 和 Docker Compose 的 Linux 环境
附 Docker 安装教程:点此跳转
部署
-
克隆本项目放在任意目录下,例:
/root/fabric-realty
-
给予项目权限,执行
sudo chmod -R +x /root/fabric-realty/
-
进入
network
目录,执行./start.sh
启动区块链网络以及部署智能合约 -
进入
application
目录,执行./build.sh
编译镜像,完成后继续执行./start.sh
启动应用,最后可使用浏览器访问 http://localhost:8000/web -
(可选)进入
network/explorer
目录,执行./start.sh
启动区块链浏览器后,访问 http://localhost:8080,用户名 admin,密码 123456
停止或重启
注意,默认执行 ./start.sh
脚本时都会调用 ./stop.sh
,所以如果想持久化数据的情况下停止或重启本项目,请不要重新执行 ./start.sh
,正确姿势参考:
-
(如果启动了区块链浏览器)进入
network/explorer
目录,执行docker-compose stop
停止区块链浏览器,执行docker-compose start
启动区块链浏览器,执行docker-compose restart
重启区块链浏览器 -
进入
network
目录,执行docker-compose stop
停止区块链网络,执行docker-compose start
启动区块链网络,执行docker-compose restart
重启区块链网络 -
进入
application
目录,区块链应用是无状态的,可以直接执行./stop.sh
关闭区块链应用,执行./start.sh
关闭区块链应用
完全清理环境
注意,该操作会将所有数据清空。按照该顺序:
-
(如果启动了区块链浏览器)进入
network/explorer
目录,执行./stop.sh
关闭区块链浏览器 -
进入
network
目录,执行./stop.sh
关闭区块链网络并清理链码容器 -
进入
application
目录,执行./stop.sh
关闭区块链应用
目录结构
-
application/server
:fabric-sdk-go
调用链码(即智能合约),gin
提供外部访问接口(RESTful API) -
application/web
:vue
+element-ui
提供前端展示页面 -
chaincode
: go 编写的链码(即智能合约) -
network
: Hyperledger Fabric 区块链网络配置
功能流程
管理员为用户业主创建房地产。
业主查看名下房产信息。
业主发起销售,所有人都可查看销售列表,购买者购买后进行扣款操作,并等待业主确认收款,交易完成后,更新房产持有人。在有效期期间可以随时取消交易,有效期到期后自动关闭交易。
业主发起捐赠,指定受赠人,受赠人确认接收受赠前,双方可取消捐赠/受赠。
演示效果
喝杯奶茶
微信 | 支付宝 |